当前位置: 首页 > 面试题库 >

Java阅读第n行

许学真
2023-03-14
问题内容

我正在尝试从文本文件读取特定行,但是我不想将文件加载到内存中(它可能会变得很大)。

我一直在寻找,但是我发现的每个示例都要求读取每一行(这将使我的代码变慢,因为有超过100,000行)或将整个内容加载到数组中并获取正确的元素(文件将包含很多行)输入)。

我想做的一个例子:

String line = File.getLine(5);

“代码不是实际的代码,它是为了显示我想要的原理而组成的”

有没有办法做到这一点?

- - -编辑 - - -

我刚刚意识到这个文件也将在读取行之间写入(添加到文件的末尾)。


问题答案:

有没有办法做到这一点?

除非每行的字节数都是固定的,否则不行。

您实际上不必 每一行都 保留 在内存中-但是您必须通读整个文件才能找到所需的行,否则您将不知道从哪里开始读取。



 类似资料:
  • 我有以下类,它从/到包裹读取和写入对象数组: 在上面的代码中,我在读取< code>readParcelableArray时得到一个< code>ClassCastException: 错误/AndroidRuntime(5880):原因:Java . lang . classcastexception:[land roid . OS . parcelable; 上面的代码有什么错误?在编写对象数

  • 问题内容: 鉴于我知道路径名和行号,因此我尝试提取文件的单行,理想情况下,我希望这样做是在 不读取任何多余文件的情况下进行的 。 出于我在这里使用的目的,这是异步还是同步都没有关系。 我当前的(不良)实现如下所示: 我尝试使用createReadStream进行操作,但是数据事件似乎从未触发。谁能提供直接解决此问题的方法,或者向我指出一些NodeJS文件系统交互文档,该文档比标准库API文档驱动的

  • 问题内容: Java的默认编码为。是?(请参见下面的编辑) 当文本文件被编码为?读者如何知道自己必须使用? 我谈论的读者是: s 来自的s 一个从 … 轮到我们,编码取决于操作系统,这意味着以下内容并非在每个操作系统上都适用: 问题答案: 读者如何知道他必须使用UTF-8? 通常你指定 你自己 的一个。它有一个采用字符编码的构造函数。例如 所有其他读者(据我所知)都使用平台默认字符编码,这实际上可

  • 问题内容: 这是我目前正在使用的行 要跳过包含标题的csv的第一行。我不想使用任何分隔符,除了默认的一个逗号(,)已在默认构造函数中提供。在参数化构造函数中,可以选择跳过否。行,但如何处理构造函数的第二和第三参数。 - 谢谢 问题答案: CSVReader类的此构造方法在读取文件时将跳过csv的第一行。

  • 【QQ阅读】Java后端一面 1、自我介绍 2、挑一个实习讲一下(我选择第一段经历) 3、看你在阿里这边用completablefuture 你是如何来优化的? 4、线程池的参数 5、synchronized 和 lock的区别 6、volatile 的作用 7、Java内存分布(刚开始把和jvm的弄混了,最后提示了一下说出来了) 8、重排序 9、Java中线程安全的集合 10、Concurren

  • 我在使用pdfbox阅读pdf时遇到了一个问题。我的实际pdf部分不可读,所以当我在编辑器中复制和粘贴不可读的部分时,它会显示小方框符号,但当我试图通过pdfbox读取同一文件时,这些字符不会被读取(我也不希望它们被读取)。我希望我至少能得到一些符号或随机字符,而不是实际的字符。有没有办法做到这一点。该行已被选中,因此它不是图像。有人找到解决办法了吗? 有一个pdfbox示例,我们在pdfText