Я думал, что символы в java - это 16 бит, как предлагается в java doc . случай для строк? У меня есть код, который сохраняет объект в файл:
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»
, когда я открыл вывод
с помощью редактора и удалил не строковую часть, то осталась только строка «abcd», всего 4 байта. Кто-нибудь знает почему? Сохраняет ли Java автоматически пространство, используя ASCII вместо UNICODE для строк, которые могут поддерживаться ASCII? Спасибо