Java 重写到文件中
我编写了一个简单的函数,如下所示:Java 重写到文件中,java,file,file-io,rewrite,Java,File,File Io,Rewrite,我编写了一个简单的函数,如下所示: private static void write(String Swrite) throws IOException { if(!file.exists()) { file.createNewFile(); } FileOutputStream fop=new FileOutputStream(file); if(Swrite!=null) fop.write(Swrite.getBytes()); fo
private static void write(String Swrite) throws IOException {
if(!file.exists()) {
file.createNewFile();
}
FileOutputStream fop=new FileOutputStream(file);
if(Swrite!=null)
fop.write(Swrite.getBytes());
fop.flush();
fop.close();
}
FileOutputStream fop = new FileOutputStream(file, true);
每次我调用它时,它都会重写,然后我只会得到最后编写的项目。如何将其更改为不重写?
文件
变量全局定义为文件
使用constrctor,该constrctor以append标志作为参数
FileOutputStream fop=new FileOutputStream(file, true);
在
FileOutputStream
上,需要添加boolean append
参数。然后它会像这样:
private static void write(String Swrite) throws IOException {
if(!file.exists()) {
file.createNewFile();
}
FileOutputStream fop=new FileOutputStream(file);
if(Swrite!=null)
fop.write(Swrite.getBytes());
fop.flush();
fop.close();
}
FileOutputStream fop = new FileOutputStream(file, true);
这告诉
FileOutputStream
它应该附加文件,而不是清除和重写其所有当前数据。如果您尝试以特定字节偏移量写入,请尝试。两个参数构造函数是正确的。这是多余的:
if(!file.exists()) {
file.createNewFile();
}
构造函数将为您执行此操作。您应该在
append
模式下打开文件。为此,默认情况下FileOutputStream
将在write
模式下打开文件。您无需检查文件是否存在,它将由文件输出流隐式完成
private static void write(String Swrite) throws IOException {
FileOutputStream fop=new FileOutputStream(file, true);
if(Swrite!=null)
fop.write(Swrite.getBytes());
fop.flush();
fop.close();
}
这不一定是某个偏移量,他只是想要附加文件。但还是有一个小问题,它不留任何空格,它写在最后一个字符之后,因此不可读,我如何使它在每次写后都留有空格?changefop.write(…)
tofop.write(…+“\n”)
它不起作用。上面说write()没有类似的suitale构造函数。虽然我设法解决了这个问题,但还有一个矿工的问题,在下一行中是否每次都要写入一个文件?我的意思是先写第一行,然后从第一行开始写第二行,依此类推。我发现它的ascii码是10,但因为它的字符和我的函数是写字符串,所以它不起作用。还有其他想法吗?但还是有一个小问题,它不留任何空格,它写在最后一个字符后面,所以不可读,我怎么能让它在每个字符后面留一个空格呢writing@MostafaAlli:然后写入空格