第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Java中逐行將兩個文本文件數(shù)據(jù)寫入第三個文件?

如何在Java中逐行將兩個文本文件數(shù)據(jù)寫入第三個文件?

慕碼人2483693 2022-08-17 10:17:00
我從不同的路徑讀取兩個文件,并且在讀取時無法在循環(huán)中寫入第二個文件內(nèi)容,它迫使我在下面的程序中初始化rt變量。請幫助我如何修復(fù)它以獲得預(yù)期的輸出。提前致謝??!import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class ReadingFiles {    public static void main(String[] args) throws IOException     {        String inp = "location\\first.txt";        String two = "location\\second.txt";        BufferedReader br = new BufferedReader(new FileReader(inp));        BufferedReader br2 = new BufferedReader(new FileReader(two));        String st,rt;        BufferedWriter bw = new BufferedWriter(new FileWriter("location"));        while((st=br.readLine())!= null || (rt=br2.readLine())!= null )        {            bw.write(st);            bw.newLine();            /*bw.write(rt);            bw.newLine();            System.out.println(rt);*/            //instance variable rt of type String is forcing me to initialize like             //for local variable and throwing nullpointer exception instead of fetching            //second file contents        }        bw.close();    }}請在上面找到我的程序,我正在嘗試將兩個文本文件內(nèi)容寫入第三個文件。以及下面給出的示例輸入和輸出inputin file-1   a1a1a1               b2b2b2            c3c3c3in file-2   d1d1d1            e2e2e2            f3f3f3 output   a1a1a1  d1d1d1  b2b2b2  e2e2e2  c3c3c3  f3f3f3
查看完整描述

3 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗 獲得超8個贊

您在代碼中犯了幾個錯誤,并且還有更好的方法來實現(xiàn)代碼。但是對于您的輕描淡寫,我將更新您現(xiàn)有的代碼。


1) st 和 rt 應(yīng)初始化。因為當(dāng)?shù)谝淮?st 初始化時,rt 尚未初始化。


2) ||應(yīng)該是 &&.因為您需要循環(huán)直到所有文件都讀完為止。


3)應(yīng)該檢查st&rt是否為空。


請檢查以下代碼。


public class ReadingFiles 

{


public static void main(String[] args) throws IOException 

{

    String inp = "first.txt";

    String two = "second.txt";

    BufferedReader br = new BufferedReader(new FileReader(inp));

    BufferedReader br2 = new BufferedReader(new FileReader(two));


    String st,rt="";

    BufferedWriter bw = new BufferedWriter(new FileWriter("location"));

    boolean isCompleted = false;

    while( !isCompleted)

    {

        st=br.readLine() ;

        bw.write(st==null?"":st);

        bw.newLine();

        rt=br2.readLine();

        bw.write(rt==null?"":rt);

        bw.newLine();


        isCompleted = (st==null && rt == null) ? true : false ;


    }

    bw.close();

}

}


查看完整回答
反對 回復(fù) 2022-08-17
?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗 獲得超8個贊

你沒有關(guān)閉你的讀者,我更喜歡過度明確的關(guān)閉。然后,在無限循環(huán)中讀取各自文件中的每一行。在寫入輸出緩沖區(qū)之前,從每個文件單獨測試 ,并在用盡兩個輸入后再次終止循環(huán)。像這樣,try-with-resourcesnull


try (BufferedReader br = new BufferedReader(new FileReader(inp));

        BufferedReader br2 = new BufferedReader(new FileReader(two));

        BufferedWriter bw = new BufferedWriter(new FileWriter("location"))) {

    while (true) {

        String st = br.readLine();

        if (st != null) {

            bw.write(st);

            bw.newLine();

        }

        String rt = br2.readLine();

        if (rt != null) {

            bw.write(rt);

            bw.newLine();

        }

        if (st == null && rt == null) {

            break;

        }

    }

} catch (IOException e) {

    e.printStackTrace();

}


查看完整回答
反對 回復(fù) 2022-08-17
?
江戶川亂折騰

TA貢獻(xiàn)1851條經(jīng)驗 獲得超5個贊

我會使用無限循環(huán)而不是在我的循環(huán)內(nèi)單獨管理循環(huán)退出條件。dowhilewhileif

為什么?因為標(biāo)頭中的第二個條件語句可能不會執(zhí)行,因為它是 or (),并且當(dāng)?shù)谝粋€語句是時,編譯器會忽略條件語句的其余部分,因此永遠(yuǎn)不會啟動。這就是為什么編譯器強(qiáng)制您初始化的原因。while||truertrt


查看完整回答
反對 回復(fù) 2022-08-17
  • 3 回答
  • 0 關(guān)注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號