如何将数据库中的信息写入到16进制文件以减小其占用空间 现在我有一个400多M的数据库,想把它弄成文件的存储形式,目地是想让它的体积减小下来,之前直接用写文件的方法把数据写到文件中,结果文件的体积比数据库还大 有没有什么方法可以让数据不那么大,是否可以写成一个16进制的文件,该怎么写才能把体积减下来 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 每个表建一个POJO类。例如User表,有2个字段,name和idimport java.io.Serializable;public class User implements Serializable { private static final long serialVersionUID = 1L; private long id; private String name; public void setId(long id) { this.id = id; } public void setName(String name) { this.name = name; } public long getId() { return id; } public String getName() { return name; }}存入List里,然后序列化后存到文件。参考:http://qianxunniao.iteye.com/blog/1218609此后还可通过反序列化取的全部数据。另外,如果觉得序列化后的文件还是大的话,可以用java的压缩库压成zip。反序列化前先解压就可以了。 还有一种方法,可以把数字和字符数据分开存放。数字的话,保存它的二进制模式,我记得java里面有一个类似于writeByte的方法,用那个写入文件就行。字符可以先做一下压缩,然后再保存。不过压缩的方法就看你自己怎么选择了。最好的方法是分块压缩,这样你在读取查找的时候,没有必要把文件完全解压,只需要解压相关的那一段就行。 我那个是手机要用到的sqlite数据库,几百M对手机来说是巨大 谢谢啊,虽然最后没有用到这个方法,但这个方法还是让我长了些见识。我最后是直接将那些数据写成16进制数写到文件里去了,这样可以将空间降到100多M,最后再ZIP压缩一下就剩30M了 用swing mysql 写了一个QQ登录界面,但是功能实现不了,不能注册用户和登录验证 很简单的一个java问题 java.lang.Runtime 运行mysqldump的问题 求Java.land包中的String类中的方法 关于java的基础与J2EE的关系 关于sQL条件中包含条件时 不同jdk版本的兼容问题? 怎么连"hello word"都不出来?真是惭愧!---我是新手! 请教一个IM的留言板的小技术环节的故障调试. Win 10环境下,F10和F11快捷键都没法用。。 java不能读取修改后的环境变量的值么? Swing怎样取消默认的layout
例如User表,有2个字段,name和idimport java.io.Serializable;public class User implements Serializable {
private static final long serialVersionUID = 1L;
private long id;
private String name; public void setId(long id) {
this.id = id;
} public void setName(String name) {
this.name = name;
} public long getId() {
return id;
} public String getName() {
return name;
}
}存入List里,然后序列化后存到文件。
参考:
http://qianxunniao.iteye.com/blog/1218609
此后还可通过反序列化取的全部数据。另外,如果觉得序列化后的文件还是大的话,可以用java的压缩库压成zip。
反序列化前先解压就可以了。
数字的话,保存它的二进制模式,我记得java里面有一个类似于writeByte的方法,用那个写入文件就行。
字符可以先做一下压缩,然后再保存。
不过压缩的方法就看你自己怎么选择了。
最好的方法是分块压缩,这样你在读取查找的时候,没有必要把文件完全解压,只需要解压相关的那一段就行。