我有多个对象具有不同的输出,我想将所有结果打印在一个文本文件中,并且每个对象的结果都在一行上,而不会覆盖任何值.
我写了下面的代码;但是,输出文本文件仅保存最后一个对象(Object2)的值.我希望输出文件将结果保存如下:
Q = 1
Q = 2
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class Output {
public static int Q;
public static void main(String[] args) {
Object1();
Object2();
}
public static void Object1() {
Q = 1;
Print();
}
public static void Object2() {
Q = 2;
Print();
}
public static void Print() {
PrintWriter writer;
try {
writer = new PrintWriter("C:\\Users\\My Document\\Desktop\\Out.txt");
if (Q == 1) {
writer.println("Q =" + 1);
}
if (Q == 2) {
writer.println("Q = " + 2);
}
writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
解决方法:
您正在用新信息覆盖Out.txt文件.您需要附加数据.
用以下内容替换行:
writer = new PrintWriter(new BufferedWriter(new FileWriter("C:\\Users\\My Document\\Desktop\\Out.txt", true)));
标签:java
来源: https://codeday.me/bug/20191120/2041371.html