我有上面的代码.我想做的是在txt文件中写一个字符串.
import java.io.*;
import java.util.*;
public void writeAsfalizomenos(asfalizomenos myObj) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.print("Surname: ");
String username = scanner.nextLine();
System.out.println(username);
FileWriter outFile = new FileWriter("asdf.txt", true);
PrintWriter out1 = new PrintWriter(outFile);
out1.append(username);
out1.println();
out1.append("adfdas");
//
// Read string input for username
//
}
public static void main(String [] args) throws IOException{
asfalizomenos a = new asfalizomenos();
a.writeAsfalizomenos(a);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码创建了一个txt文件,但它不会将字符串写入它.关于我的bug的任何想法?
你没有关闭或冲洗PrinterWriter或FileWriter.所以基本上它是缓冲的,所以没有任何东西被写入文件.
你应该在finally块中关闭它们:
FileWriter outFile = new FileWriter("asdf.txt", true);
try {
PrintWriter out1 = new PrintWriter(outFile);
try {
out1.append(username);
out1.println();
out1.append("adfdas");
} finally {
out1.close();
}
} finally {
outFile.close();
}
Run Code Online (Sandbox Code Playgroud)
关闭将自动刷新.
(我不记得了 - 关闭PrintWriter意志很可能会关闭FileWriter.不管怎么说,我个人喜欢明确它.)
| 归档时间: |
|
| 查看次数: |
5351 次 |
| 最近记录: |