日期:2014-05-18  浏览次数:20686 次

Java文件随机读取问题~~~~~急!!!在线等
很久没弄文件随机读取了,这回遇到需求,好了 不啰嗦 直接上代码:

RandomAccessFile randomAccessFile = new RandomAccessFile(fileName,"rw");
// 设置文件的内容为0字节
randomAccessFile.setLength(0);
//循环写入
for (int i = 0; i < 5; i++) {
randomAccessFile.writeUTF("我爱你!i love you!");
}
// 重新把文件指针定位到开始处
randomAccessFile.seek(0);
System.out.println("=>"+randomAccessFile.getFilePointer());
randomAccessFile.skipBytes(7);
System.out.println("=>"+randomAccessFile.getFilePointer());
String data = randomAccessFile.readUTF();
while (data!=null) {
System.out.println(data);
data = randomAccessFile.readUTF();
}


以上代码使用RandomAccessFile 来做随机读取,
希望在skipBytes(7)后开始循环遍历出来;
无奈控制台只是输出了:

没有输出任何东西,如果设置skipBytes(0);就能输出了,
不知道这是什么问题?该如何解决才好呢?
Java 文件随机读取 RandomAccessFile skipBytes

------解决方案--------------------
跳过中文是把?

        RandomAccessFile randomAccessFile;
        try
        {
            randomAccessFile = new RandomAccessFile("RandomAccess.txt", "rw");
            //设置文件的内容为0字节
            randomAccessFile.setLength(0);
            //循环写入
            String loveStr = "我爱你!i love you!";
            byte[] bArr = loveStr.getBytes();
            for (int i = 0; i < 5; i++)
            {