我想将所有变量保存到一个基于字符的文件(txt.etc)中
因为在java中,浮点是4字节,字符是2字节
有没有什么方法可以将浮点值保存为两个字符,并从这两个字符中安全地检索浮点值?
例如,如果浮点的位是
10101010 11111 010 10100011 10101010
然后将这些浮点值保存为具有完整位的字符那么这两个字符将是
10101010 11111 010和10100011 10101010
当我用文本编辑器或任何
当java被设计为对C++的改进时,其意图是将java中的text作为Unicode,这样所有脚本都可以组合在一起。
String, char, Reader, Writer
-用于Unicode文本byte[], InputStream, OutputStream
-用于二进制数据
因此char
是两个字节(使用Unicode格式UTF-16)。
由于UTF-16、UTF-8等中的特殊转义,并不是每个字节序列都可以写成文本。
因此,您应该考虑将所有数据存储为纯二进制数据,将字符串存储为UTF-8字节序列:
String s = ...
byte[] bytes = s.getBytes(StandardCharsets.UTF_8);
为此,你必须确切地知道你写的是什么,以及如何读回。您可以使用DataOutputStream
。它有writeUTF8
、writeInt
等方便的方法。