使用Java写文件不覆盖原有内容
public void writeToTXT(String str){
FileOutputStream o = null;
String path="YourFilePath";
String filename="YourFileName.txt";
byte[] buff = new byte[]{};
try{
File file = new File(path+filename);
if(!file.exists()){
file.createNewFile();
}
buff=str.getBytes();
o=new FileOutputStream(file,true);
o.write(buff);
o.flush();
o.close();
}catch(Exception e){
e.printStackTrace();
}
}
下面是FileOutputStream的构造函数
FileOutputStream(File file) 创建文件输出流以写入由指定的File对象表示的文件。 |
FileOutputStream(File file, boolean append) 创建文件输出流以写入由指定的File对象表示的文件。 |
FileOutputStream(FileDescriptor fdObj) 创建文件输出流以写入指定的文件描述符,表示与文件系统中实际文件的现有连接。 |
FileOutputStream(String name) 创建文件输出流以指定的名称写入文件。 |
FileOutputStream(String name, boolean append) 创建文件输出流以指定的名称写入文件。 |
其中参数主要数一下第二个,boolean append,这个参数代表是否覆盖原有内容,默认为false,(意思为覆盖原有内容),我在我的构造函数中,传入参数为true,意思为不覆盖原有内容