RandomAccessFile 读写文件时,不管文件中保存的数据编码格式是什么,使用 RandomAccessFile对象方法的 readLine() 都会将编码格式转换成 ISO-8859-1 所以输出显示是还要在进行一次转码。
package com.lincain.random;
import java.io.File;
import java.io.RandomAccessFile;
import java.util.Arrays;
/**
* 测试RandomAccessFile读取文件
*/
public class RandomAccessFileDemo {
public static void main(String[] args) throws Exception {
File file = new File("C:/Users/Lincain/Desktop/test.txt");
RandomAccessFile raf = new RandomAccessFile(file,"rw");
raf.seek(0);
raf.write("时代和封建时代sdjfkskdfa".getBytes());
raf.seek(0);
String line = raf.readLine();
line = new String(line.getBytes("ISO-8859-1"),"UTF-8");
System.out.println(line);
raf.close();
}
}