如何在java中多次读取文件

时间:2013-05-29 10:47:59

标签: java file-io

这是我在java中使用BufferedReader读取文件的理解。如果我错了,请纠正我......

最近我有一个要求,我们需要多次读取文件。

我使用的常用方法是设置mark()并进行重置。但输入参数为 标记是整数,不能接受长数。有没有一种方法可以让我们多次读取文件。

在c ++中,无论我们想要多少次,我们都可以再次对fstreamread内容进行搜索。 java中有什么东西是这种性质的。

2 个答案:

答案 0 :(得分:3)

关闭文件并再次阅读。

但请查看您的要求。你为什么不能一次性处理它?<​​/ p>

答案 1 :(得分:1)

不是很好的答案,但如果你想随机阅读和写作,那么你可以在Channels包中使用java.nio

BufferedReader用于在逻辑上将其视为一系列记录时读取文件,并且通常按顺序访问记录。
Channel允许您将文件视为一系列块。块意味着随机读取。 :)

使用频道的子类FileChannel,您可以在任何地方阅读您想要的内容。您需要指定两件事:

  1. 从何处阅读。
  2. 阅读多少钱。
  3. 它有read(dst,pstn),其中dstByteBuffer,pstn是long位置。

    不要担心它是abstract,因为你是通过Files.newByteChannel()使用它来完成所需的所有伏都教:)