JAVA 文件操作-随机流的一些理解
昨天debug到半夜都是因为文件操作问题……心累了,关于文件操作,什么语言里都不是很会,JAVA里确实提供了很多种类,但这么多种反倒让人觉得更加烦恼了。
在随机流中的使用和其他语言比较类似(C/PHP)所以最终还是使用了他,功能也比较强大。
RandomAccessFile objectOut = new RandomAccessFile(accountNumber+"_info.txt", "rw");
提供一堆read和write,默认当然是从头开始,如果要改变位置,用seek(length)
就行了,length可以用自带的length()
方法取得,这样就能定位到最后。
readLine()
和readUTF()
效果有些类似,但又有所不同,readLine()
对于中文支持是不好的,如果需要readLine来读取中文,那么可能你就需要这么输出了。
String str = objectOut.readLine();
byte b[] = str.getBytes("ISO-8859-1");
但是readUTF()
却可以直接使用,在写入时使用writeUTF()
即可。
此外,不需要过多在意在哪里断行的问题,每次的read
对应每次的write
,并且每次读写完都会定位到当前字串最末尾,因此只需要这么写:
objectOut.writeUTF(String.valueOf(accountNumber));
objectOut.writeUTF(accountName);
objectOut.writeDouble(balance);
objectOut.writeUTF("活期账户");
即可。
可以使用getFilePointer()
来获取当前所在的位置。
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。