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();
}
添加回答
举报