Im tring для передачи из файла filein, начиная с позиции 1300 (в единицах uint8) в fileto, используя функцию RandomAccessFile transferFrom.Передача Java из части двоичного файла?
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();
Мой выходной файл просто пустой tho.
Кто-нибудь знает, что я делаю неправильно ???
Edit 1:
Я изменил
tochannel.transferFrom(fromchannel,n,fromfile.length()-n)
в
fromchannel.transferTo(n,fromfile.length()-n,tochannel)
Но теперь выход печати на весь файл сразу же за него, за исключением ставит много 00 шестнадцатеричные где заголовок в оригинале был ???
Ok, я изменил порядок Тхо to fromchannel.transferTo (n, fromfile.length() - n, tochannel). Его работа за исключением того, что выходной файл имеет много нулей в начале, где удаленный заголовок был ??? Любые идеи –
Я не уверен, что заставило бы вас получать нули в начале? Возможно, вам поможет переход на java.io.FileOutputStream. – Scott