我编写此代码将此链接列表的节点写入文本文件,但每当我使用FileWriter
System.out.println("n.ModelName");
public void modName() throws IOException{
PrintWriter outputStream = null;
outputStream = new PrintWriter(new FileWriter("C:\\Users\\OsaMa\\Desktop\\Toyota.txt"));
node n=head;
while (n != null){
if(n.Company.equalsIgnoreCase("Toyota")){
outputStream.println(n.ModelName);
n=n.next;
}
else{
n=n.next;
}
}
}
答案 0 :(得分:0)
您需要明确地调用flush或关闭outputstream以查看文件中的输出。因此,一旦完成将数据写入流,您只需要将流刷新到文件,如:
outputStream.flush();
或者如果您关闭流:
outputStream.close();
关闭流并将数据刷新到文件。
使用sysout时看到输出的原因是内部执行以下操作:
if (autoFlush)
out.flush();
如果您想要相同的功能,请将PrintWriter定义为:
outputStream = new PrintWriter(new FileWriter("C:\\Users\\OsaMa\\Desktop\\Toyota.txt"), true);//set auto flush on
^^^^^
答案 1 :(得分:0)
试试这个
public void modName() throws IOException{
PrintWriter outputStream = null;
outputStream = new PrintWriter("C:\\Users\\OsaMa\\Desktop\\Toyota.txt","UTF-8");
node n=head;
while (n != null){
if(n.Company.equalsIgnoreCase("Toyota")){
outputStream.println(n.ModelName);
n=n.next;
}
else{
n=n.next;
}
}
outputStream.close();
}
写完后你需要关闭流。