需求:实现基本的读写

package com.sbx.io;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner; /**
* Created by BlueLover
* Name:苏半夏
* Date:2021/2/26
* Time:11:00
*/
public class MyFileTest {
/**
* 使用FileOutputStream类向文件中写入数据与使用FileInputStream类从文件中将内容读出来,都存在一点不足,即这两个类值提供了对字节或字节数组的读取方法。由于汉字在文件中占用两个字节,如果使用字节流,读取不好可能会出现乱码现象,此时采用字符流Reader或Writer类即可避免这种现象。
*/ String text;
//读取文件的方法
public void ReadFile(File file){
try{
//读取文件中的内容
FileReader in = new FileReader(file);
char byt[] = new char[2];
int len;
System.out.println("文件中的信息是:");
while((len = in.read(byt))!=-1){
System.out.print(new String(byt,0,len));
text += new String(byt,0,len);
}
in.close();
text = this.text.substring(4);
System.out.println(text);
} catch (StringIndexOutOfBoundsException e1){
System.out.println("文件内容为空");
} catch (Exception e){
e.printStackTrace();
}
} //写入文件的方法
public void WriteFile(File file){
try{
/**
* 为了避免原有内容被覆盖,我们需要先读取出原有的内容
*/
this.ReadFile(file);
//写入文件
FileWriter out = new FileWriter(file);
System.out.println("请输入要写入的内容:");
Scanner scanner = new Scanner(System.in);
String newText = scanner.next();
System.out.println("是否覆盖原有内容?请选择:1-是 2-否 ");
if (Integer.parseInt(scanner.next())==1){
System.out.println("您选择覆盖原有内容");
out.write(newText);
}else{
System.out.println("您选择不覆盖原有内容");
out.write(this.text);
out.write(newText);
}
scanner.close();
out.close();
}catch (Exception e){
e.printStackTrace();
}
} public static void main(String[] args) {
File file = new File("test.txt");
MyFileTest myFileTest = new MyFileTest();
System.out.println("============读取==============");
myFileTest.ReadFile(file);
System.out.println("============写入==============");
myFileTest.WriteFile(file);
System.out.println("============写入后读取==============");
myFileTest.ReadFile(file);
}
} /*
潇洒如我最近却变得有点敏感
半小时收不到你讯息就会坐立不安
都说别爱的太满 这道理知易行难
我还挺乐意享受这份甜中微酸
你的笑像西瓜最中间那一勺的口感
点亮了一整个夏天 星空也为你斑斓
我不会深情款款上演什么套路桥段
我的爱纯粹简单
*/

Java实现文件的读写的更多相关文章

  1. Java 实现文件随机读写-RandomAccessFile

    现有如下的一个需求,向已存在1G数据的txt文本里末尾追加一行文字,内容如下“Lucene是一款非常优秀的全文检索库”.可能大多数朋友会觉得这个需求很easy,说实话,确实easy,然后XXX君开始实 ...

  2. Java实现文件的读写,复制

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStr ...

  3. java字符文件的读写

    1.java文件读写,首先我们需要导入相应的包:java.io.*; 2.代码如下: package Demo1; import java.io.*; public class FileWirteTe ...

  4. java 实现文件读写操作

    import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* JAVA IO 读写操作 20 ...

  5. java中文件的I/O操作

    java中文件的读写操作 (一) (1)java中文件的字节转成字符读操作 FileInputStream fStream = new FileInputStream("test.txt&q ...

  6. Java的文件读写操作

    file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...

  7. java filechannel大文件的读写

    java读取大文件 超大文件的几种方法 转自:http://wgslucky.blog.163.com/blog/static/97562532201332324639689/   java 读取一个 ...

  8. Java程序员的日常—— Properties文件的读写

    在日常的Java程序开发中,Properties文件的读写是很常用的.经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整. 那么本片就来简单的介绍下,如何使用Prop ...

  9. Java的文件读写操作 <转>

    目录: file内存----输入流----程序----输出流----file内存 java中多种方式读文件 判断文件是否存在不存在创建文件 判断文件夹是否存在不存在创建文件夹 java 写文件的三种方 ...

随机推荐

  1. ACM-ICPC 2018 南京赛区网络预赛(12/12)

    ACM-ICPC 2018 南京赛区网络预赛 A. An Olympian Math Problem 计算\(\sum_{i=1}^{n-1}i\cdot i!(MOD\ n)\) \(\sum_{i ...

  2. AtCoder Beginner Contest 179 E - Sequence Sum (模拟)

    题意:\(f(x,m)\)表示\(x\ mod\ m\),\(A_{1}=1\),而\(A_{n+1}=f(A^{2}_{n},M)\),求\(\sum^{n}_{i=1}A_{i}\). 题解:多算 ...

  3. .NET并发编程-函数闭包

    本系列学习在.NET中的并发并行编程模式,实战技巧 内容目录 函数式编程闭包的应用记忆化函数缓存 函数式编程 一个函数输出当做另一个函数输入.有时候一个复杂问题,我们拆分成很多个步骤函数,这些函数组合 ...

  4. Leetcode(13)-罗马数字转整数

    罗马数字包含以下七种字符:I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列 ...

  5. Redis五大类型及底层实现原理

    目录 简单动态字符串链表字典跳跃表整数集合压缩列表对象 对象的类型与编码字符串对象列表对象哈希对象 集合对象有序集合对象类型检查与命令多态内存回收对象共享对象的空转时长 简单动态字符串  导读 Red ...

  6. HLOD System

    1.1 HLOD System简介 首先,HLOD System主要的目标是为了减少Draw Call.然后,进行更多的Batch批处理,从而大大提高渲染性能,减少面数和纹理,这样我们相应地节省了内存 ...

  7. HTML <keygen> 标签(👎 已废弃)

    HTML 标签( 已废弃) 该标签在新的 Web 标准中已废弃. <!DOCTYPE html> <html> <head>  <meta charset=& ...

  8. Web 开发之 HTTP/2 & SPDY & HTTP 1.1 & HTTP 对比分析详解!

    1 https://zh.wikipedia.org/wiki/HTTP/2 HTTP/2 维基百科,自由的百科全书                         HTTP/2(超文本传输协议第2版 ...

  9. .NET 面试题: C# override && overloading (C# 覆写 && 重载)

    1 1 1 .NET 面试题, C# ,override , overloading, 覆写, 重载,.NET,ASP.NET, override (覆写/重写): 方法名相同,参数的个数和类型相同, ...

  10. how to find jobs in the website codes

    how to find jobs in the website codes X-Custom-Heade https://developer.mozilla.org/en-US/docs/Web/AP ...