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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從流程中打印Java InputStream

從流程中打印Java InputStream

開(kāi)滿天機(jī) 2019-11-03 04:04:02
UPDATE: I found a crucial part to why this probably isn't working! I used System.setOut(out); where out is a special PrintStream to a JTextArea這是代碼,但是我遇到的問(wèn)題是,只有在我結(jié)束流程后,信息才會(huì)打印出來(lái)。public Constructor() {    main();}private void main() {    btnStart.addActionListener(new ActionListener() {        public void actionPerformed(ActionEvent e) {            try {                ProcessBuilder builder = new ProcessBuilder("java", textFieldMemory.getText(), "-jar", myJar);                Process process = builder.start();                InputStream inputStream = process.getInputStream();                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream), 1);                String line;                while ((line = bufferedReader.readLine()) != null) {                    System.out.println(line);                }                inputStream.close();                bufferedReader.close();            } catch (IOException ioe) {                ioe.printStackTrace();            }        }    });} 電流輸出:Line 1Line 2Line 3Line 4Line 5這是正確的輸出,但是當(dāng)我結(jié)束該過(guò)程時(shí),它只是作為一個(gè)大塊打印。有人知道這個(gè)問(wèn)題是什么嗎?如果可以的話,您能幫我解釋一下為什么會(huì)發(fā)生這種情況嗎,謝謝。
查看完整描述

2 回答

?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

在單獨(dú)的線程中處理進(jìn)程的輸出流可能會(huì)有所幫助。您還想明確地等待該過(guò)程結(jié)束,然后再繼續(xù)執(zhí)行邏輯操作:


ProcessBuilder builder = new ProcessBuilder("java",

        textFieldMemory.getText(), "-jar", myJar);

final Process process = builder.start();

final Thread ioThread = new Thread() {

    @Override

    public void run() {

        try {

            final BufferedReader reader = new BufferedReader(

                    new InputStreamReader(process.getInputStream()));

            String line = null;

            while ((line = reader.readLine()) != null) {

                System.out.println(line);

            }

            reader.close();

        } catch (final Exception e) {

            e.printStackTrace();

        }

    }

};

ioThread.start();


process.waitFor();



查看完整回答
反對(duì) 回復(fù) 2019-11-04
  • 2 回答
  • 0 關(guān)注
  • 260 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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