0

我想使用 RandomAccessFile transferFrom 函数从位置 1300(以 uint8 块)开始的文件 filein 传输到 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 十六进制数???

4

1 回答 1

1

你想用transferTo我相信

fromchannel.transferTo(n,fromfile.length()-n,tochannel)

astransferFrom尝试从 outfile 中的transferTo位置 n 开始,而将在 infile 中的位置 n 开始

于 2013-11-25T06:30:52.413 回答