簡體   English   中英

java.io作家和讀者 - 你怎么知道應該使用哪些?

[英]java.io writers and readers - how do you know which should be used?

有很多類擴展了java.io.Writer和java.io.Reader。

在哪些情況下你應該使用一個而不是另一個? 每個人的整體實用性是什么(為什么會有這么多)?

他們有不同的“表現”屬性嗎? 他們都只是從流中寫/讀 - 不是嗎?

有沒有人知道一篇文章會給我一些例子,說明你在哪里使用另一個。

同樣的問題也適用於處理實際的文件。 似乎有多種方法可以打開要讀/寫的文件流。

謝謝。

讀者的名字說明了用例。

FileReader / StringReader / CharArrayReader / InputStreamReader具有不同的實現,可以從Files,Strings,CharArrays或InputStream中讀取。 用法取決於您的來源。

LineNumberReader / PushbackReader / BufferedReader不能工作'Standalone'你可以將它們與另一個源-Reader結合使用。 例如new BufferedReader( new FileReader(file) );

此Reader為您提供了可能需要執行的特殊情況的方法。 BufferedReader逐行讀取,或LineNumberReader獲取行號。

PipedReader很適合將程序的Part / Thread上的數據表格與PipedWriter一起讀取到另一個Part / Thread。 ...

...對於特殊情況,您可以使用Reader和Writer構建鏈,就像Decorator模式一樣。

這是他們選擇的特定設計模式。 您需要哪個課程基於“您需要做什么”。 如果你想從文件中讀取,那么你可能需要一個FileReader 對於大多數這些類,您可以將其中一個包裝到另一個類中以獲得所需的功能。

這是一個很好的問題我剛才問過,關於使用正確的Writer類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM