Java.io.RandomAccessFile提供了我们从某个指针来读取文件。但实际使用时有些问题,seek()方法不是指定某行的位置,而是整个字节流的中指针的位置。所以对我实际的应用意义不大。本人希望能直接定位到某一行数据,然后从这行开始逐行读取数据。。请赐教!!!!!!!
解决方案 »
- 急!!!poi操作word,用过的请进!!!!
- struts1.2 spring 2.5 hibetnate3.1 oracle数据库反向生成,运行报错
- 想实现个功能 在线等
- struts2+spring2.5+fckeditor2.6上传图片出错Error on file upload.Error number:203
- 急诊~~~~怎样解析base64的编码和解码?
- Hibernate 的事务问题?只要问题解决,马上给分!
- weblogic初级问题,不知原因,帮忙!!
- 题外话:如何在WIN2000里一次性关掉20个网页?
- 怎样用Java做ASP组件(COM DLL)供ASP使用?
- 需要写一个bat文件,去关闭应用程序的bat窗口
- Java 中使用JSON序列化问题?
- 生成一个PDF文件,弹出新窗口,PDF直接预览在IE内
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
++count;
if (count <= N) { continue; }
// Handle the string of line
}
/**
代码是RandomAccessFile自带的readline方法.
你可以自己改写此方法,
传入一个需要的行数参数,
初始化一个行数=0,在eol = true;的地方改成行数自增
然后将while的条件改成当传入参数==行数的时候退出循环,就可以了.
*/
public final String readLine() throws IOException {
StringBuffer input = new StringBuffer();
int c = -1;
boolean eol = false; while (!eol) {
switch (c = read()) {
case -1:
case '\n':
eol = true;
break;
case '\r':
eol = true;
long cur = getFilePointer();
if ((read()) != '\n') {
seek(cur);
}
break;
default:
input.append((char)c);
break;
}
} if ((c == -1) && (input.length() == 0)) {
return null;
}
return input.toString();
}