我有一个我要保存到文件的String对象,我不在乎它是保存为纯文本还是二进制文件。我尝试保存为纯文本,大约27个字节。然后我尝试了ObjectOutputStream
,这是24个字节。有没有更好的方法将String对象保存到文件中?字符串是189:25:600:-324324214&并打算拥有成千上万的人。这就是为什么我想要它压缩,当然每个字符串将有点不同
答案 0 :(得分:2)
以下是用于压缩的一些选项:
我现在只使用1,2,4和7 :)。使用XZ对我来说似乎是合理的,快速和更高的压缩比和非常容易使用。
XZOutputStream out = new XZOutputStream(outstream, LZMA2Options);
InputStream in = new XZInputStream(anInputstream);
答案 1 :(得分:2)
在FileOutputStream
内的DeflatorOutputStream
内包裹ObjectOutputStream
以创建文件。 (将整个数组写为单个对象。)然后将FileInputStream
包裹在InflatorInputStream
内的ObjectInputStream
内进行阅读。