我以爲在java中的字符是16位,如java doc建議。是不是弦的情況?我有一個存儲的對象到一個文件代碼:Java中的字符是1個字節還是2個字節?
public static void storeNormalObj(File outFile, Object obj) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(outFile);
oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
oos.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
oos.close();
try {
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
基本上,我試圖存儲一個字符串"abcd"
在提交"output"
,當我用一個編輯器打開output
並刪除了無串的一部分,還剩下什麼只是字符串「abcd」,總共是4個字節。有人知道爲什麼通過使用ASCII而不是UNICODE來處理可以被ASCII支持的字符串,java是否會自動節省空間?謝謝
只是一個想法:難道不是Java保存在UTF-8中嗎? – Rekin 2011-05-13 06:48:04
是的,它確實存儲了字符串修改後的UTF-8 ... – MJB 2011-05-13 06:53:44