Há um caractere de 1 byte ou 2 bytes em Jav
Eu pensei que caracteres em java fossem 16 bits, como sugerido emjava doc. Não é o caso de strings? Eu tenho um código que armazena um objeto em um arquivo:
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();
}
}
}
Basicamente, tentei armazenar uma string"abcd"
no arquivo"output"
, quando eu abrioutput
com um editor e excluído a parte de nenhuma string, o que resta é apenas a string "abcd", com 4 bytes no total. Alguém sabe o porquê? O java economiza espaço automaticamente usando ASCII em vez de UNICODE for Strings que podem ser suportados por ASCII? Obrigad