首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中如何使用特定行号从文件中读取特定行?

在Java中如何使用特定行号从文件中读取特定行?
EN

Stack Overflow用户
提问于 2010-02-23 01:30:44
回答 16查看 267.5K关注 0票数 96

在Java中,有没有从文件中读取特定行的方法?例如,读取第32行或任何其他行号。

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2010-02-23 01:32:32

除非您事先了解文件中的行,否则如果不阅读前面的31行,就无法直接访问第32行。

所有语言和所有现代文件系统都是如此。

因此,实际上你只需要读几行,直到你找到第32行。

票数 76
EN

Stack Overflow用户

发布于 2010-02-23 01:35:50

据我所知没有,但您可以使用BufferedReader的readline()函数循环遍历前31行,什么也不做

代码语言:javascript
复制
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();
票数 39
EN

Stack Overflow用户

发布于 2010-02-23 05:45:54

当然,Joachim是对的,Chris的替代实现(只适用于小文件,因为它加载了整个文件)可能是使用Apache的commons-io (尽管有争议的是,你可能不想只为这个引入一个新的依赖,如果你发现它对其他东西也有用,那么它可能是有意义的)。

例如:

代码语言:javascript
复制
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

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2312756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档