用java打印出2个文本文件

用java打印出2个文本文件,java,Java,这是我用来打印两个文本文件的代码,但“输出”或“右侧”会不断重复打印第一行,例如,文件中的文本是: 1. 2. 3. 4. 1. 2. 三, 调用函数时,输出将为: 1. 1. 1. 1. 1. 1. 一, 这是因为双while循环,第一个while的每一轮,第二个while重新启动。除非您希望递归读取每行br的整个br1,否则只需通过if语句更改内部while语句: public static void printUSER() { BufferedReader br = null; Buffe

这是我用来打印两个文本文件的代码,但“输出”或“右侧”会不断重复打印第一行,例如,文件中的文本是: 1. 2. 3. 4. 1. 2. 三,

调用函数时,输出将为: 1. 1. 1. 1. 1. 1. 一,


这是因为双while循环,第一个while的每一轮,第二个while重新启动。除非您希望递归读取每行br的整个br1,否则只需通过if语句更改内部while语句:

public static void printUSER()
{
BufferedReader br = null;
BufferedReader br1 = null;
try {
    br = new BufferedReader(new FileReader("info.txt"));
    br1 = new BufferedReader(new FileReader("info AI.txt"));
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
 String line = null;
 String line1 = null;

 try {
    while((line = br.readLine())!= null) {
      line1 = br1.readLine()
        if(line1 != null){
       System.out.println(line+"  ===  "+line1);
        }
     }
 } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
 }
}

希望它有帮助

您将读取第二个文件B的循环放在第一个文件A的循环中,因此打印出B的每一行与A的第一行配对;它最终会读完B,返回并阅读A的下一行,但因为你读了B的全部内容,所以不会打印任何新内容


如果只是因为您的示例只引用了一个文件,那么您想做什么还不清楚。输出中不应该有一些class='s吗?和换行?

必须重新读取info AI.txt

对于所有线的组合:

try (BufferedReader br = new BufferedReader(new FileReader("info.txt"))) {
    while ((line = br.readLine()) != null) {

        try (BufferedReader br1 = new BufferedReader(new FileReader("info AI.txt"))) {
            while ((line1 = br1.readLine()) != null) {
对于一个接一个的文件:

try (BufferedReader br = new BufferedReader(new FileReader("info.txt"))) {
    while ((line = br.readLine()) != null) {

    }
}
try (BufferedReader br1 = new BufferedReader(new FileReader("info AI.txt"))) {
     while ((line1 = br1.readLine()) != null) {

     }
}
对于并排的线路:

try (BufferedReader br = new BufferedReader(new FileReader("info.txt"));
        BufferedReader br1 = new BufferedReader(new FileReader("info AI.txt"))) {
    while ((line = br.readLine()) != null
            || (line1 = br1.readLine()) != null) {
        if (line != null) {

        }
        if (line1 != null) {

        }
     }
}

在第一个文件的每一新行,它将读取并打印第二个文件的所有值。这是您或OP想要做的吗?您想要如何打印两个文件的数据???然后,单击我答案上的勾号,以明确它的工作原理,从而帮助其他人。很高兴我能帮忙
try (BufferedReader br = new BufferedReader(new FileReader("info.txt"));
        BufferedReader br1 = new BufferedReader(new FileReader("info AI.txt"))) {
    while ((line = br.readLine()) != null
            || (line1 = br1.readLine()) != null) {
        if (line != null) {

        }
        if (line1 != null) {

        }
     }
}