是否可以在java中搜索包含comrpessed对象的文件?
我从甲骨文中读到以下内容 我可以在对象的压缩版本上执行方法吗,例如isempty(zip(serial(x)) 由于对象的编码,这对于任意对象来说是不可行的。对于特定对象(如字符串),可以比较结果位流。编码是稳定的,因为每次对同一对象进行编码时,它都被编码到同一组位是否可以在java中搜索包含comrpessed对象的文件?,java,string,search,compression,Java,String,Search,Compression,我从甲骨文中读到以下内容 我可以在对象的压缩版本上执行方法吗,例如isempty(zip(serial(x)) 由于对象的编码,这对于任意对象来说是不可行的。对于特定对象(如字符串),可以比较结果位流。编码是稳定的,因为每次对同一对象进行编码时,它都被编码到同一组位 所以我有了这个想法,比如说,如果我有一个4M长的字符数组,我是否可以使用GZIPOutputStream将它压缩到几百字节,然后将整个文件映射到内存中,并通过比较位对其进行随机搜索?假设我正在查找“abcd”的字符序列,我是否可以以
所以我有了这个想法,比如说,如果我有一个4M长的字符数组,我是否可以使用
GZIPOutputStream
将它压缩到几百字节,然后将整个文件映射到内存中,并通过比较位对其进行随机搜索?假设我正在查找“abcd”
的字符序列,我是否可以以某种方式获取压缩版本的“abcd”
的位序列,然后在文件中搜索它?谢谢。您不能使用GZIP或类似工具来执行此操作,因为在处理流时,每个字节的编码都会发生变化。i、 e.确定字节含义的唯一方法是读取之前的所有字节
如果希望随机访问数据,可以将字符串分成更小的部分。这样,您只需要解压缩相对较短的数据部分。根据压缩算法,它可能会工作,但压缩不一定会尊重字节边界,因此搜索可能真的很痛苦。