現在,我似乎並沒有得到那些流(輸入/輸出)和普通writer
和reader
甚至scanner
和formatter
之間的區別...輸入/輸出流與普通讀寫器有什麼區別,它們的類型有什麼區別?
及爲何InputStream
有很多子類像DataInputStream
和BufferedInputStream
和所有那些亂七八糟(與同爲當然OutputStream
)...
最後一兩件事,如果緩衝區是很好的(所以我讀)和高效爲什麼會任何一個使用任何其他輸入/輸出方式(爲什麼他們甚至製造?)
你能舉一個例子嗎?將**字節**轉換爲**字符**,反之亦然? – Argento
查看InputStreamReader和OutputStreamWriter - 它們的構造函數接受一個流對象(source/sink作爲字節)和一個Charset,它具有如何在字節和字符之間映射的信息。您可以像使用任何其他讀寫器一樣使用它們,即通過普通的'read'和'write'方法。但是,如果您只想讀取/寫入現有的字符數據(比如說,從磁盤讀取文本文件),則不必手動執行此轉換:各種Reader/Writer類在內部爲您執行此操作。 – Thomas
和哪個'Charset'應該使用並取決於什麼? – Argento