Java写文件不覆盖原内容

使用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,意思为不覆盖原有内容

 

你可能感兴趣的:(java,string,java)