簡體   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