Java 写入文件但仅保存最后一行
我试图复制一个文本文件,但当代码执行完毕时,我只有文件中的最后一行文本。显然,Java 写入文件但仅保存最后一行,java,file,io,Java,File,Io,我试图复制一个文本文件,但当代码执行完毕时,我只有文件中的最后一行文本。显然,scanLine()一直在覆盖同一行,但我无法解决这个问题。有什么想法吗 do{ try{ FileWriter name = new FileWriter("/home/fok/Desktop/out"); BufferedWriter out = new BufferedWriter(name); a=x.nextLine();scanner x gr
scanLine()
一直在覆盖同一行,但我无法解决这个问题。有什么想法吗
do{
try{
FileWriter name = new FileWriter("/home/fok/Desktop/out");
BufferedWriter out = new BufferedWriter(name);
a=x.nextLine();scanner x grabs next line and sets it string a
out.write(a);//writes a to file
out.close();//closees file
} catch (IOException ioe){
System.out.println("file writer error");
}
} while(x.hasNext());
这很简单,在for循环中关闭和打开文件
public void readfile(){
try {
FileWriter name = new FileWriter("/home/fok/Desktop/out");
BufferedWriter out = new BufferedWriter(name);
do {
a=x.nextLine();scanner x grabs next line and sets it string a
out.write(a);//writes a to file
} while(x.hasNext());
out.close();//closees file
} catch (IOException ioe){
System.out.println("file writer error");
}
}
但是它不能看到bufferreader,但是FileWriter和bufferreader必须在try-catch中,所以我的作用域必须在同一个块中写入,或者是否有其他方法需要帮助