Go具有非常好的io.Reader
和io.Writer
接口,其大致對應於Java中的java.io.InputStream
和java.io.OutputStream
類(即,io.Reader =字節流,io.Writer =用於字節的接收器)。在Go中有沒有java.io.Reader等價物?
我在想,如果Go還有一些等效的java.io.Reader
(字符流)和java.io.Writer
(接收字符)類。
我想要的是讀/寫字符串從/到流,而不考慮編碼所有的時間+支持不同的編碼不只是UTF8(這是什麼組合io.Reader +字符串類型轉換幾乎給我自由)。
更新:所以我想我的描述很混亂,我應該避免與Java的東西比較。我想要的是這樣的:
讀取器部分,讀取下一個128字節,並通過使用ISO-8859-2字符集解碼字節返回Go字符串。
stringReader := NewStringReader(reader, "iso-8859-2") stringReader.read(128)
作家的一部分,轉換的東西UTF16-BE字節,並將其寫入作家:
stringWriter := NewStringWriter(writer, "utf16be") stringWriter.write("馞鮂 擙樲橚 褗褆諓");
的java.io.InputStream是一個Java類,而io.Reader是Go接口,它們不相互對應。你可以在「io/ioutil」包中找到一些實用程序。 – rvignacio 2014-09-03 18:57:52
你能舉一個你想要做什麼的例子嗎?與Java的比較沒有任何意義。 – JimB 2014-09-03 19:21:11
@rvignacio:我用不同的行爲寫了我的java.io.InputStream子類的共享,以知道它們確實具有非常密切的對應關係。但這不是問題的關鍵。 – 2014-09-03 19:22:02