黑马程序员技术交流社区
标题: java 基本输入和输出流——RandomAccessFile类 [打印本页]
作者: 李玉生 时间: 2012-10-5 21:46
标题: java 基本输入和输出流——RandomAccessFile类
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;
}
};
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |