如何使用 java 从链表写入文本文件
how to write from linkedlist to a text file using java
我写这段代码是为了将这个链表的节点写入一个文本文件,但是当我尝试使用 System.out.println("n.ModelName");
时,它无法使用 FileWriter
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;
}
}
}
您需要明确调用 flush 或关闭输出流才能在文件中查看输出。因此,一旦您完成将数据写入流,您只需要求流将数据刷新到文件,如:
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
^^^^^
试试这个
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();
}
您需要在写入完成后关闭流。
另请参阅
- How to create a file and write to a file in Java?
我写这段代码是为了将这个链表的节点写入一个文本文件,但是当我尝试使用 System.out.println("n.ModelName");
FileWriter
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;
}
}
}
您需要明确调用 flush 或关闭输出流才能在文件中查看输出。因此,一旦您完成将数据写入流,您只需要求流将数据刷新到文件,如:
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
^^^^^
试试这个
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();
}
您需要在写入完成后关闭流。
另请参阅
- How to create a file and write to a file in Java?