File file = new File(directory + player.getUsername() + ".dat");
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream outFile = new FileOutputStream(file);
DataOutputStream write = new DataOutputStream(outFile);
write.writeUTF(player.getUsername());
write.writeUTF(player.getPassword());
write.writeInt(player.getStaffRights());
write.writeInt(player.getPosition().getX());
write.writeInt(player.getPosition().getY());
write.writeInt(player.getPosition().getZ());
write.writeInt(player.getGender());
好的,上面这段代码的作用是它为这款游戏制作新的角色文件。但我遇到的问题是,当我尝试打开时,这段代码放入.dat的字符信息让我无法读取,让记事本只是乱码。我需要能够打开这些.dats并能够用英语阅读/编辑文本。有什么帮助吗?
答案 0 :(得分:0)
使用DataOutputStream
保存数据时,它将以Java的本机二进制序列化格式保存,而不是以简单文本保存,例如记事本。
如果要将纯文本写入文件,请使用java.io.Writer
的子类之一来写入文件而不是DataOutputStream
- 例如PrintWriter
。
PrintWriter out = new PrintWriter(file);
out.println(player.getUsername());
// etc...
// Also, don't forget to close when you are done
out.close();
答案 1 :(得分:-1)