2017-02-21 41 views
0

Я хочу разделить большой файл на части на основе размера .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(); 
      } 

     } 

это расщепление, но не получают должного выхода

ВХОД

французская полиция прочесывали штаб мари пе Le Пе

..... длинный текст

ВЫВОД

БРЗ eaithqt MnensrgFttaeoa Manloo egontagmsfran doyrmaastaNfaoRe eraaatsih ч Ferr

и тот же выход написанные в пяти файлах

+0

Почему вы хотите разделить случайный доступ, когда это текстовый файл, с которым вы имеете дело? Разве это не рискует сделать его текст тарабарщиной? –

ответ

1

Вам необходимо сменить свою петлю на

for(int j=0; j<perfilesize; j++){ 
+0

также меняется os.write (racces.readInt()) на int read; \t \t \t \t \t \t \t \t \t \t для (Int J = 0; J

+0

Да, не знаю, почему вы делали 'readInt' –

 Смежные вопросы

  • Нет связанных вопросов^_^