在Java中,有没有从文件中读取特定行的方法?例如,读取第32行或任何其他行号。
发布于 2010-02-23 01:32:32
除非您事先了解文件中的行,否则如果不阅读前面的31行,就无法直接访问第32行。
所有语言和所有现代文件系统都是如此。
因此,实际上你只需要读几行,直到你找到第32行。
发布于 2010-02-23 01:35:50
据我所知没有,但您可以使用BufferedReader的readline()函数循环遍历前31行,什么也不做
FileInputStream fs= new FileInputStream("someFile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
for(int i = 0; i < 31; ++i)
br.readLine();
String lineIWant = br.readLine();
发布于 2010-02-23 05:45:54
当然,Joachim是对的,Chris的替代实现(只适用于小文件,因为它加载了整个文件)可能是使用Apache的commons-io (尽管有争议的是,你可能不想只为这个引入一个新的依赖,如果你发现它对其他东西也有用,那么它可能是有意义的)。
例如:
String line32 = (String) FileUtils.readLines(file).get(31);
http://commons.apache.org/io/api-release/org/apache/commons/io/FileUtils.html#readLines(java.io.File
https://stackoverflow.com/questions/2312756
复制相似问题