1 回答

TA貢獻1853條經驗 獲得超6個贊
不要用于FileReader從文件中讀取原始字節。改用FileInputStream。
的問題FileReader是它通過嘗試使用某種字符編碼(如果沒有給出則使用默認編碼)來解碼字節,從而從文件中讀取chars,而不是。bytes
bytes = IOUtils.toByteArray(new FileInputStream(file));
或者,您可以使用DataOutputStreamlong 直接寫入輸出流并使用DataInputStream從輸入流讀取。
try (DataOutputStream out = new DataOutputStream(new FileOutputStream(file))) {
out.writeLong(uuid.getMostSignificantBits());
out.writeLong(uuid.getLeastSignificantBits());
out.writeLong(player.getTokens());
}
try (DataInputStream in = new DataInputStream(new FileInputStream(file))) {
long uuidMSB = in.readLong();
long uuidLSB = in.readLong();
long tokens = in.readLong();
}
添加回答
舉報