我試圖寫一個文件抓取:從文件給不需要的結果
for(String s : str){
buffer.put(s.getBytes());
buffer.flip();
channel.write(buffer);
buffer.clear();
}
所以每當我從文件中取由char c = (char)randomAccessFile.readChar();
在這裏,我沒有得到這是在字符字符串。有人可以告訴我原因。
爲了轉換String
假設嘗試字節即string.getBytes()
它給了6個字節的一件事。但我們知道,焦炭需要2
字節,因此它應該是16*6=96
。
來自哪裏16 * 6?你是否想說你的字符串有48個字符? – Pace
@Pace 1 char = 16bits,我們有6個字符。 – Trying
好的。那麼你會期望12個字節,這將是96位。你說得對,char需要2個字節的內存。但是,String.getBytes()並不返回Java在內存中使用的相同表示。返回的字節數組的大小取決於用於生成字節的編碼。這是一個[示例](http://rextester.com/UCEB42773)的現象。 – Pace