CodeSky 代码之空

随手记录自己的学习过程

JAVA 文件操作-随机流的一些理解

2015-01-08 20:13分类: Java评论: 0

昨天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)