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