樱木花膘 2016-03-24 14:06 采纳率: 0%
浏览 1664

求助一个关于FileInputStream跟FileOutputStream的问题

当FileInputStream跟FileOutputStream的路径相同时,会把文件的内容清空,这是为什么?代码如下,a.txt的内容被清空了

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test {
public static void main(String[] args) throws IOException{
FileInputStream in = new FileInputStream("a.txt");
FileOutputStream out = new FileOutputStream("a.txt");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int b;
while((b = in.read()) != -1){
bos.write(b);
}
out.write(bos.toByteArray());
in.close();
out.close();
bos.close();
System.out.println("成功");
}
}

  • 写回答

2条回答 默认 最新

  • wjsgtxy 2016-03-24 14:33
    关注

    改成 FileOutputStream out = new FileOutputStream("a.txt",true); 试一试,不加true是默认清空的,加了true是追加模式

    评论

报告相同问题?