读写大量原始类型数据时,如果当作普通String写入文件,读出时再来parse,速度无法忍受。以下主要讨论读,因为读写是对称的。
以前我用FileInputStream,在内存中弄一个很大的byte数组,读入后自己瞎搞拼装成int之类。现在发现其实完全没必要,java的io做得很完善方便了。DataInputStream里就有readInt,readFloat等方法。如果文件很大缓存不够会很慢,这时候可以用一个BufferedReader对象作为DataInputStream构造函数的参数,BufferedReader对象可以自由设置缓存大小。如此一来就又快又方便了。写的时候就用DataOutputStream和BufferedWriter。
ps:这也算是我的space上的第一篇东东了。呵呵。以前我都嫌space太慢。今天重装系统把Windows Live 系列软件装上,发现写日志好像比以前方便多了。既然这样不妨写写杂七杂八的也可以备忘。以下这段话未卸磨先杀驴: Windows Live系列的这一套软件怎么都奇丑无比啊……