我想根据大小将一个大文件拆分为部分.i使用随机访问文件。我所做的是获取文件分割文件的长度并为每个文件设置文件大小
File file = new File("/home/hello/test.txt");
if(file.exists()){
long filesize = file.length();
int noofparts = 5;
int perfilesize = (int) (filesize/5);
for(int i=0;i<noofparts;i++){
try {
OutputStream os = new FileOutputStream("/home/solomon/test"+i+".txt");
RandomAccessFile racces = new RandomAccessFile(file, "r");
racces.seek(seek);
int read;
for(int j=0;j<perfilesize;perfilesize++){
os.write(racces.readInt());
}
os.flush();
os.close();
seek = seek+perfilesize;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
它正在拆分但没有得到正确的输出
INPUT
法国警方正在搜寻Marine Le Pe总部
.....长文
输出
人力资源管理委员会 eraaatsih hr Ferr
并在五个文件中写入相同的输出
答案 0 :(得分:1)
您需要将循环更改为
for(int j=0; j<perfilesize; j++){