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

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

在刷新之前將信息添加到 bufferWriter java

在刷新之前將信息添加到 bufferWriter java

慕村225694 2021-10-17 10:36:09
據我所知,BufferedWriter存儲信息之前,我寫在文件執(zhí)行使用在文件中寫入它的行為之前flush(),Append()等等。我從多個來源收集信息,所以目前我正在做的是在每個來源中循環(huán)并每次將其直接附加到文件中,但我想要完成的是BufferedWriter在完成循環(huán)后添加所有信息,將它寫入文件,怎么做?我試圖通過不多次將數據刷新到文件中來提高性能。性能是問題,因為這可能會循環(huán) 100 萬次。這是我目前正在做的事情:打開 BufferedWriter從不同的源讀取數據并存儲在緩沖區(qū)中將存儲的數據附加到文本文件中(此處緩沖區(qū)已清空)重復步驟 2.- 和 3.- 50 次關閉文本文件這是我想要做的:打開 BufferedWriter從不同的源讀取數據并存儲在緩沖區(qū)中重復步驟 2.- 50 次附加所有收集的數據(在 50 個循環(huán)中收集的數據)關閉文件這是代碼。 for (int mainLoop = 0; mainLoop < 50; mainLoop++){        try {            BufferedWriter writer = writer = new BufferedWriter(new FileWriter                    ("path to file in computer" + mainLoop + ".txt", true));        for(int forloop = 0; forloop < 50; forloop++) {            final Document pageHtml= Jsoup.connect("link to a page").get();            Elements body = pageHtml.select("p");            writer.append(System.getProperty("line.separator"));            writer.append(System.getProperty("line.separator"));            writer.append(body.text());            System.out.println(forloop);        }        writer.close();        } catch (IOException e) {            e.printStackTrace();        }continue;    }
查看完整描述

2 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

我試圖通過不多次將數據刷新到 de 文件來提高性能

每次寫入后是否手動刷新數據?不要那樣做。

否則,在實例化 BufferedWriter 時指定更大的大小。

您可以選擇使用 StringBuilder 首先聚合輸出。但是,我假設您的輸出比您想存儲在內存中的要多。

最后,真的有性能成本嗎?

===

BufferedWriter 將優(yōu)化它執(zhí)行的實際寫入。只要您指定一個大的緩沖區(qū)大小,例如 10,000,在緩沖區(qū)滿之前,對緩沖區(qū)的多次小寫入將不會導致寫入。我看到一條評論說您正在“清除”緩沖區(qū)。不要那樣做。把 BufferedWriter 放在一邊,讓它做它自己的事。

如果您正在積累信息,然后由于某種原因將其丟棄,請使用 StringBuilder 積累,然后將 StringBuild 內容寫入 Writer。


查看完整回答
反對 回復 2021-10-17
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

緩沖寫入器將在您指示時刷新。并且任何時候緩沖區(qū)變滿。確定緩沖區(qū)何時變滿可能很棘手。真的,你不應該關心。無論何時刷新,緩沖寫入器都將提高性能。相反,您的輸出代碼應該BufferedWriter 任何其他Writer.

我還在您的代碼中看到您反復打開和關閉輸出文件。你幾乎肯定不需要這樣做。而是在程序的更高級別打開和關閉文件,因此它在每次迭代時都保持打開狀態(tài)。


查看完整回答
反對 回復 2021-10-17
  • 2 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號