hadoop读取文件java.io.EOFException解决
今天调试hadoop读取文件系统的时候遇到了一个java.io.EOFException异常
原始代码
String path="hdfs://master:9000/user/hadoop-0.20.2/tmp/7-0-initial-docid"; FileSystem fs = FileSystem.get(URI.create(path), context.getConfiguration()); FSDataInputStream in = null; in = fs.open(new Path(path)); //InputStreamReader istr = new InputStreamReader(in); //BufferedReader br = new BufferedReader(istr); long id; while (id=in.readLong()>0L){ docID.add(id); }
后来将其中的while循环改为如下即可
while (in.available()>0){ id=in.readLong(); docID.add(id); }
因为读取的时候需要判断文件结尾
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。