我有一个问题,那些知道BufferedWriter和BufferedReader如何工作的人。我想在已经存在的第一行下面添加一行Text,但是Java给了我一个NullPointerException。
以下是代码:
String myClass = "none";
File ff = new File("src/Resources/Saves/test.txt");
try{
FileWriter fw = new FileWriter(ff);
BufferedWriter bw = new BufferedWriter(fw);
FileReader fr = new FileReader(ff);
BufferedReader br = new BufferedReader(fr);
bw.write(br.readLine()); //NullPointerException is here
bw.newLine();
bw.write(myClass);
bw.flush();
bw.close();
br.close();
} catch(IOException ecc){
ecc.printStackTrace();
}
理论上,它应该重写第一行文本,启动一个新行并编写我的字符串“myClass”。
答案 0 :(得分:3)
您可以使用FileWriter
new FileWriter("File name",true);
答案 1 :(得分:1)
您无需复制文件本身(无论如何也无法复制)只是为了追加它,您可以使用try-with-resource
String myClass = "none";
File ff = new File("src/Resources/Saves/test.txt");
try (PrintWriter pw = new PrintWriter(ff)) {
pw.println(myClass);
}
除非你打算用它做点什么,否则我不会发现异常。