关于txt文件的随机读取?

zzxm2005 2006-12-09 09:37:19
我想对一个TXT文件实现随机读写,必须用到文件指针,seek()函数来操纵读写开始的位置。
考虑用RanderAccessFile类,虽然可以使用seek操纵光标,但是由于该类是对文件按字节读取,所以就不能正常显示中文字符。

考虑组合使用以下三个类:FileInputStream InputStreamReader BufferedReader虽然可以正常显示中文字符,但有缺少了seek操纵光标的方便。

请问有无解决的好办法。

还有就是我的目标文档格式为

单位名称:南京汇丰尼龙有限公司
地 址:江苏省南京市朝天宫西街57号4-2-101室
邮 编:210004
传 真:025-86502194
电 话:025-86655359
主要产品:尼龙切片750吨/年
设备情况: VK管1套,1000L聚合釜2套,固相反应聚合釜2套。  

单位名称:南京化纤股份有限公司
地 址:江苏省南京市高新技术开发区20幢B二楼
邮 编:210038
传 真:025-85562252
电 话:025-85562819 85561081 85561280
电子邮箱:office@viscosefibre.com
网 址:www.viscosefibre.com
主要产品: 化纤浆粕20000吨/年,金羚牌;粘胶长丝5000吨/年,金羚牌;粘胶短纤15000吨/年,金羚牌。
设备情况: R531纺丝机80台及其后处理、加工配套设备;HR401 纺丝机2台及 其配套的两条短纤生产线;R165黄化机19台;R122高温老成鼓3台;R123高温老成鼓1台;R5 35A丝机36台;R701络丝机34台。
.
.
.

我想显示空行以上的内容,编码如下:
import java.io.*;
public class examFile8{
public static void main(String arg[]){
FileInputStream fileInStream;
InputStreamReader inputReader;
BufferedReader bufReader;
try{
fileInStream = new FileInputStream("e:\\mydir\\中国化纤企业名录江苏部分.txt");
inputReader = new InputStreamReader(fileInStream);
bufReader = new BufferedReader(inputReader);
String lineStr;
String aa = "\r";
while((lineStr = bufReader.readLine())!=null||lineStr.matches(aa)==false)
System.out.println(lineStr);
}
catch(FileNotFoundException e){}
catch(IOException e){}
}
}

显示老是滚屏,停不下来,怎么在空行处截住显示?

谢谢大家
...全文
372 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
redhat456 2006-12-09
  • 打赏
  • 举报
回复
自己定义存储结构吧
mathsfan 2006-12-09
  • 打赏
  • 举报
回复
我好象理解错了,呵呵
你看加一个内容判断怎么样,就是看光标在行首行尾的内容为空即停止输出```
mathsfan 2006-12-09
  • 打赏
  • 举报
回复
在空行处加一句让程序暂停运行的语句就行了```
gaogangde 2006-12-09
  • 打赏
  • 举报
回复
对,一行一行读应该可以。
jy02209334 2006-12-09
  • 打赏
  • 举报
回复
用BufferedReader ;

BufferedReader br = new BufferedReader(new FileReader("xxx.txt"));
String line = null;
do
{
line = br.readLine();
System.out.println(line);
}while(line!=null && line.trim().length!=0)
zzxm2005 2006-12-09
  • 打赏
  • 举报
回复
多谢,但问题依旧!

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧