如题,请给出demo,不胜感激! |
|
/*
* 指定文件及路径,按行查询所有内容输出 * * src 文件路径(含文件名)如:C://text.txt */ public void selectout(String src) { try { FileReader reader = new FileReader(src); BufferedReader br = new BufferedReader(reader); Object obj = null; while ((obj = br.readLine()) != null) { System.out.println(obj); } br.close(); reader.close(); } catch (IOException e) { System.out.println(“FileTool–>select(String src)-错误”); } } 这个是个例子 自己看看吧 |
|
一楼朋友,我要的是按指定行读取。
|
|
40分 |
用LineNumberReader,读取行号,根据行号判断是不是你要的
|
查过 LineNumberReader api, getLineNumber() setLineNumber(specLines)好像不管用
我说的意思是,一次读取文件一部分,下次读取的时候,按照上次读取结束的地方开始接着往下读取 |
|
记录读到多少行,下次使用LineNumberReader 继续读不就好了吗
|
|
/*
* 指定文件及路径,按行查询指定内容,并返回结果集 * * src 文件路径(含文件名)如:C://text.txt * * where 指定条件(正则表达式) 如: * * * * 1、指定开始字符或字符串正则: * * 2、指定开始及结束字符或字符串正则: * * 3、指定结束字符或字符串正则: * * 4、指定包含内容正则: */ public List<Object> select(String src, String where) { List<Object> list = new ArrayList<Object>(); try { 指定行 这个可以 就是一些正则表达式 需要你自己找找 |
|
http://stackoverflow.com/questions/2312756/in-java-how-to-read-from-a-file-a-specific-line-given-the-line-number
|
|
问题已解决,其实在Java api中有提供RandomAccessFile这样一个类,它能很好地测量到的文件指针偏移量,从而可以从指定的行数继续往下读取文件内容,更详细内容可以查阅Java API。
不过怎么样,还是谢谢各位热心的帮忙! |