繁体   English   中英

在Java中打印出2个文本文件

[英]printing out a 2 text files in java

这是我的代码,用于打印两个文本文件,但是输出也不正确,它会不断重复打印第一行,例如文件中的文本是:1 2 3 4 1 2 3

当我调用该函数时,输出将是:1 1 1 1 1 1 1

    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) {

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

您将循环放入第一个文件(A)中的第二个文件(B)中,因此打印出B的每一行与A中的第一行成对; 它最终将完成读取B的操作,返回并读取A的下一行,但是由于您已读取所有的B,因此不会打印任何新内容。

只是因为您的示例仅引用了一个文件,所以尚不清楚您要尝试执行的操作。 并且输出中不应该包含= 和换行符?

信息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) {

        }
     }
}

这是因为双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();
 }
}

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM