标题:请教读取文件中分段读取问题
只看楼主
zzsavage
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-12-4
 问题点数:0 回复次数:13 
请教读取文件中分段读取问题
我要读取一个.dbf文件,文件中前后都有我要读的东西,但中间有空白,我想用while(s!=null)读取只能读前半部分,请問如何解决該问题,谢谢
LIfQKZzY.txt (695 Bytes) 请教读取文件中分段读取问题


[此贴子已经被作者于2006-12-4 18:24:06编辑过]

搜索更多相关主题的帖子: 文件 分段 
2006-12-04 11:04
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

用 RandomAccessFile的seek方法


可惜不是你,陪我到最后
2006-12-04 11:37
zzsavage
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-12-4
得分:0 

了解,我试试,谢谢

2006-12-04 11:55
zzsavage
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-12-4
得分:0 

我试了还是不行,只能读一半
麻烦高手再给指点一下,谢谢了
我的程序如下:
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;

public class TestInput3 {
private void input() throws IOException{
StringBuilder sb=new StringBuilder();
RandomAccessFile ra=new RandomAccessFile(new File("d:/zz.dbf"),"r");
for(int i=0;i<ra.length();i++){
ra.seek(i);
sb.append((char)ra.readByte());
}
System.out.println(sb.toString());
}
public static void main(String[] args) throws IOException{
TestInput3 t=new TestInput3();
t.input();
}

}
其中那个“zz.dbf"在一楼帖子的附件里(不过要把格式攺成.dbf)
只能读一半!

2006-12-04 18:31
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
你那个dbf文件里面是什么格式的,文本吗?
好像不是吗?
不是文本格式的话,是不能正确转换为String格式的,

可惜不是你,陪我到最后
2006-12-04 18:44
zzsavage
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-12-4
得分:0 
二进制格式的,不能转换为String格式吗?
2006-12-04 18:50
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

当然不能正确的转换,就像你用记事本打开它一样的感觉


可惜不是你,陪我到最后
2006-12-04 18:52
zzsavage
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-12-4
得分:0 

但是能读出一半来啊
dbf文件中内容是这样的:


[IMG]http://img114.pp.sohu.com/images/2006/12/4/19/10/10fe1f67181.jpg[/IMG]


程序运行结果是这样的:


[IMG]http://img114.pp.sohu.com/images/2006/12/4/19/10/10fe1f6725f.jpg[/IMG]
2006-12-04 19:13
zzsavage
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-12-4
得分:0 

上面第二个图中说明只读出来前半部分

2006-12-04 19:14
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

那你必须知道那段能读出的文本是从哪里到哪里
然后你把读取的指针移到那里,开始读
这样才能把字符读出来


可惜不是你,陪我到最后
2006-12-04 19:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-107120-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.152597 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved