2012-11-20 119 views
0

这是我的第一个问题,希望你能帮助我,我提前感谢你。java从一个文件中读取某个文件到另一个文件

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

底线:我想从一个文件从startIndex读取到startIndex + chunkSize。

+1

您需要深入了解具体问题。 – anthropomo

+0

想要知道什么课程可以帮助我以所述方式从文件中读取。例如:file1.txt包含:“Lorem ipsum dolor sit amet,consectetur adipiscing elit。Etiam rhoncus neque vel justo dapibus condimentum。Pellentesque habitant。”我想从这个文件中读取第50个字节到第100个字节 – user1840302

+0

这里也有女性... – dnault

回答

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(); 

注意,这将寻求一些字节,不再言语。在阅读文件之前,无法知道文件中的单词在哪里。计算空间并添加一个空间是一种天真的方法,在这种情况下可以很好地工作。

+0

Yeah.RandomAccesFile应该做的工作。我目前正在尝试它,应该做我想做的伎俩。谢谢非常多的帮助 – user1840302

相关问题