java - 有没有办法将文件的 1/4 写入字符串缓冲区?

标签 java file bufferedreader filereader stringbuffer

我有一段代码。

File file = new File(path);
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String temp;
StringBuffer sb=new StringBuffer();
while((temp=br.readLine())!=null){          
   sb.append(temp);
   sb.append(" ");
}

这将从文件中读取每一行并将其存储在 StringBuffer 中。我的文件非常大,我需要对其进行多线程处理,以便处理速度更快。 有没有办法说我只想将文件的 1/4 写入缓冲区?

我知道我不能这么说。但我想要与此等效的东西。

for(int i=0; i<reader.length/4; i++)

最佳答案

您应该能够创建 1 file channel每个线程,并在文件的偏移处使用它。从文件 channel 中,您可以获取文件的大小来计算分割并设置其当前位置。

关于java - 有没有办法将文件的 1/4 写入字符串缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15047243/

相关文章:

java - 保护 jnlp 下载 url?

java - 如何从另一个列表中替换对象列表中的元素

file - CRC32 字符串 比较两个可能相同但不确定的文件

java - 按日期排序文本文件 - 日期看起来像 DD/MM/YYYY

Java - 将文件中的数据存储到数组中

java - 如何从文件中读取用户定义的对象?

java - 每台计算机的独特之处是什么

java - 在 Linux 上的 Scala 中锁定和写入文件的最佳方式

javascript - 读取文本文件的一部分,并将值以 ","分隔插入到数组中

java - 将家长文档包含到 zip 文件中