RandomAccessFile类
RandomAccessFile(随机访问文件)类的实例支持对随机访问文件的读/写。随机访问文件就像存储在文件系统中的巨大的字节数组,通过游标或者索引(叫做文件指示器)指向这个暗含的数组,输入操作从指示器处读取字节,然后前进指针。如果随机访问文件以可读/写模式创建,那么还支持输出操作,输出操作写到暗含数组的尾端,使得数组得以扩展。
随机访问文件,将文件内容输出,并写入两个字符“O”、“K”。若文件内容直接输出到屏幕上,则出现上半部分乱码问题,添加一个parseChinese方法后,得以修正。源程序代码如下:
//程序文件名为UseRandom.java
import java.io.*;
public class UseRandom
{
public static void main(String[] args)
{
try
{
//构建随机访问文件对象
RandomAccessFile f = new RandomAccessFile("Hello.txt","rw");
//得到文件指针和长度
long flag = 0;
long len = f.length();
//字符处理后输出
while(flag <len)
{
String s = f.readLine();
System.out.println(parseChinese(s));
flag = f.getFilePointer();
}
//末尾写入字符
f.writeChar('O');
f.writeChar('K');
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
//解决中文转换问题
public static String parseChinese(String inStr)
{
String s = null;
byte temp[];
if (inStr == null)
{
return new String("");
}
try
{
temp=inStr.getBytes("iso-8859-1");
s = new String(temp);
}
catch(UnsupportedEncodingException e)
{
System.out.println (e.toString());
}
return s;
}
};
|