java从某个文件读取到另一个文件

时间:2012-11-20 22:31:51

标签: java file

这是我在这里的第一个问题,我希望你们先生能帮助我,并且我事先感谢你们。

我正在尝试使用线程和复制的工作者范例编写Java项目。我想要做的是创建一个任务工作池。工作人员必须完成的任务是简单地计算两个索引之间指定文件中的单词数。我想创建一个这样的任务:(file,startIndex,finishIndex)。我有问题找出我应该用什么文件处理类来打开文件并读取从startIndex到finishIndex的单词。我还应该提一下,我得到一个块大小,我应该使用它来分割任务。 ChunkSize是一个表示字节数的int

结论:我想从startIndex到startIndex + chunkSize的文件中读取。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找RandomAccessFile课程。它有一个“搜索”方法,允许您跳到文件中的某个位置。例如:

int chunkSize = 64;
long startingIndex = 55;
byte[] bytesRead = new byte[chunkSize];

RandomAccessFile file = new RandomAccessFile("file.txt", "r");
file.seek(startingIndex);
file.read(bytesRead);
file.close();

请注意,这将寻找多个字节,而不是单词。在阅读之前,不可能知道文件中的单词在哪里。计算空格并添加空格是一种天真的方法,在这种情况下效果很好。