尝试使用RandomAccessFile transferFrom函数从位置1300(以uint8个数)开始的文件file传输到fileto。
fromfile = java.io.RandomAccessFile(ifile, 'rw');
fromchannel = fromfile.getChannel();
tofile = java.io.RandomAccessFile(ofile, 'rw');
tochannel = tofile.getChannel();
tochannel.transferFrom(fromchannel,n,fromfile.length()-n)
tochannel.close();
fromchannel.close();
fromfile.close();
tofile.close();
我的输出文件是空的。
有人知道我在做什么错吗?
编辑1:
我变了
tochannel.transferFrom(fromchannel,n,fromfile.length()-n)
至
fromchannel.transferTo(n,fromfile.length()-n,tochannel)
但是现在输出将打印到所有文件,除了它放了很多00十六进制数(原始标头是???)之外?
最佳答案
我想使用transferTo
fromchannel.transferTo(n,fromfile.length()-n,tochannel)
当
transferFrom
尝试从outfile中的位置n开始时,而transferTo
将从infile的位置n中开始