如何使用java从linkedlist写入文本文件

时间:2015-11-15 16:14:32

标签: java filewriter

我编写此代码将此链接列表的节点写入文本文件,但每当我使用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;
       }
        } 
    }

2 个答案:

答案 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();

}

写完后你需要关闭流。

另见