Java 当我尝试将两个(.txt)文件合并到另一个(.txt)文件时,为什么代码不起作用?
我有两个.txt文件(file1.txt和file2.txt)。在这些文件中有一些字符行。我的意图是将这两个文件的内容合并到另一个文件(file3.txt)中。我的代码如下:Java 当我尝试将两个(.txt)文件合并到另一个(.txt)文件时,为什么代码不起作用?,java,bufferedreader,printwriter,Java,Bufferedreader,Printwriter,我有两个.txt文件(file1.txt和file2.txt)。在这些文件中有一些字符行。我的意图是将这两个文件的内容合并到另一个文件(file3.txt)中。我的代码如下: public static void main(String[] args) { try { PrintWriter pw = new PrintWriter("file3.txt"); BufferedReader br1 = new BufferedReader(new
public static void main(String[] args) {
try {
PrintWriter pw = new PrintWriter("file3.txt");
BufferedReader br1 = new BufferedReader(new FileReader("file1.txt"));
BufferedReader br2 = new BufferedReader(new FileReader("file2.txt"));
String line = br1.readLine();
while(line!=null){
pw.println(line);
br1.readLine();
}
line = br2.readLine();
while (line!=null) {
pw.println(line);
br2.readLine();
}
pw.flush();
pw.close();
br1.close();
br2.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(JavaIoProject.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(JavaIoProject.class.getName()).log(Level.SEVERE, null, ex);
}
}
编译时没有错误。在运行之后,当我尝试查看内部的预期输出(file3.txt)时,它不会显示任何内容,并且鼠标指针会更改为processing。为什么会发生这种情况。我忘记添加的缺失部分在哪里?我应该编辑哪个部分?为什么。。我需要你的帮助。。谢谢。您没有为循环中的行重新分配值,因此您得到了一个无限循环 更改两个while循环:
while (line!=null) {
pw.println(line);
line =br2.readLine();
}
您没有为循环中的行重新分配值,因此得到了一个无限循环 更改两个while循环:
while (line!=null) {
pw.println(line);
line =br2.readLine();
}
你错过了任务。你可以试试这样的
String line ="";
while((line=br1.readLine())!=null){
pw.println(line);
}
line = "";
while ((line=br2.readLine())!=null) {
pw.println(line);
}
你错过了任务。你可以试试这样的
String line ="";
while((line=br1.readLine())!=null){
pw.println(line);
}
line = "";
while ((line=br2.readLine())!=null) {
pw.println(line);
}
许多代码在实现中重复了多次。你可以
只需创建一个方法并根据文件名调用它
这是readAndWrite方法的定义。还要纠正循环
private static void readAndWrite(PrintWriter pw, String filename) throws FileNotFoundException, IOException {
BufferedReader br = new BufferedReader(new FileReader(filename));
String line = br.readLine();
while (line!=null) {
pw.println(line);
line =br.readLine();
}
br.close();
}
许多代码在实现中重复了多次。你可以
只需创建一个方法并根据文件名调用它
这是readAndWrite方法的定义。还要纠正循环
private static void readAndWrite(PrintWriter pw, String filename) throws FileNotFoundException, IOException {
BufferedReader br = new BufferedReader(new FileReader(filename));
String line = br.readLine();
while (line!=null) {
pw.println(line);
line =br.readLine();
}
br.close();
}
你怎么看
br1.readLine()代码>本身有吗?因为您没有将它们添加到一起?你只是打开阅读,我想它会返回下一行。是吗?那你用那条线干什么?我知道了。。我忘了重新分配。你觉得br1.readLine()怎么样代码>本身有吗?因为您没有将它们添加到一起?你只是打开阅读,我想它会返回下一行。是吗?那你用那条线干什么?我知道了。。我忘了重新分配。