Java 在读写文本文件中,我必须打印文本文件中的所有数据,但它只打印最后一行如何获得所有行写入
读写课文。 在读写文本文件中,我必须打印文本文件中的所有数据,但它只打印最后一行如何获得所有行写入。 节目:Java 在读写文本文件中,我必须打印文本文件中的所有数据,但它只打印最后一行如何获得所有行写入,java,Java,读写课文。 在读写文本文件中,我必须打印文本文件中的所有数据,但它只打印最后一行如何获得所有行写入。 节目: 主要问题的答案是,您只看到最后一行,因为每次写入.txt文件时,您都会创建一个新的BufferedWriter,当您这样做时,它会删除.txt文件中已有的文本。要解决此问题,只需在while循环外部声明BufferedWriter: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.I
主要问题的答案是,您只看到最后一行,因为每次写入.txt文件时,您都会创建一个新的BufferedWriter,当您这样做时,它会删除.txt文件中已有的文本。要解决此问题,只需在while循环外部声明BufferedWriter:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.util.StringTokenizer;
import java.io.FileReader;
import java.io.FileWriter;
public class fs{
public static void main(String[] args){
StringTokenizer str;
try
{
BufferedReader in = new BufferedReader(new FileReader("C:/Users/madhan kumar/Desktop/read.txt"));
BufferedWriter bw = new BufferedWriter (new FileWriter("out.txt"));
String s;
while((s=in.readLine())!=null){
str = new StringTokenizer(s, "|");
String name = str.nextToken();
String age = str.nextToken();
String sex = str.nextToken();
String field = str.nextToken();
System.out.println("Name: "+name+"\tAge: "+age+"\tSex: "+sex+"\tField: "+field);
bw.write("Name: "+name+"\tAge: "+age+"\tSex: "+sex+"\tField: "+field);
}
bw.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
我做了一些小的调整,最大的一点是我使用了StringTokenizer,它的功能与您的拆分方法几乎相同,但更有说服力。请不要使用与您的问题无关的标记。语言标记垃圾,没有明确的问题,格式不好的代码——这不是一个好的开始。请浏览、和部分,看看这个网站是如何工作的。我看到的第一个问题是,在类主体中直接有语句,而不是在方法中。我看到的第二个问题是在调用
catch
之前没有关闭try
块。一个样式问题是没有正确缩进,没有使用正确的命名实践,类是TitleCase,变量/方法是camelCase。对不起,请澄清您的问题好吗?
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.util.StringTokenizer;
import java.io.FileReader;
import java.io.FileWriter;
public class fs{
public static void main(String[] args){
StringTokenizer str;
try
{
BufferedReader in = new BufferedReader(new FileReader("C:/Users/madhan kumar/Desktop/read.txt"));
BufferedWriter bw = new BufferedWriter (new FileWriter("out.txt"));
String s;
while((s=in.readLine())!=null){
str = new StringTokenizer(s, "|");
String name = str.nextToken();
String age = str.nextToken();
String sex = str.nextToken();
String field = str.nextToken();
System.out.println("Name: "+name+"\tAge: "+age+"\tSex: "+sex+"\tField: "+field);
bw.write("Name: "+name+"\tAge: "+age+"\tSex: "+sex+"\tField: "+field);
}
bw.close();
}catch(IOException e){
e.printStackTrace();
}
}
}