[英]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.