java中文件的读与写操作代码示例

package cn.zj.project.time;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;


public class FileTest {
public static void main(String[] args) {
WriteFile();
readFileContent();
}


//FileOutputStream  字节输出流-->用于写内容
private static void WriteFile() {

File file = new File("D:/word.txt");//java-->创建文件
if (!file.exists()) {
System.out.println("文件不存在");
}else{
String words ="hello java ";
byte[] bt = new byte[1024];
bt = words.getBytes();
try {
//注意下面第二个参数--> 表示是否在原有内容的基础上进行追加写入?   true:表示在原有内容的基础上进行追加写入;  false:表示不追加,重新写入内容,因此会覆盖掉原有内容(也就是说每次都是重新写入新的内容,大家注意这一点就行了)根据需求决定, 不加第二个参数,默认是覆盖
FileOutputStream fis = new FileOutputStream(file,true);
fis.write(bt);
fis.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
// FileInputStream 字节输入流 --> 用于读文件
public static  void readFileContent(){
try {
File file = new File("D:/word.txt");
FileInputStream fis = new FileInputStream(file);
int fileLength = (int)file.length();
byte[] bt = new byte[fileLength];
fis.read(bt);
System.out.println("文件内容:"+new String(bt));
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}

FileOutputStream fis = new FileOutputStream(file,false);第二个参数不给的话默认就是false,不管你执行多少次,D盘文件下的word.text的内容都是 "hello java";请看程序运行截图:

java中文件的读与写操作代码示例



而一旦我将第二个参数设置为true后,表示每次都是在原有内容的基础上进行追加写入我们需要写入的内容,每执行一次就在word.text 内容原有的基础上多写入一个hello word ,需要注意这一点,看下运行截图吧:java中文件的读与写操作代码示例

不给第二个参数默认就是false,即每次都是重新写入内容,会覆盖原有内容,记住这一点就好了,就先写到这,就当是抛砖引玉吧,欢迎大家留言,谢谢大家的支持!