2017-02-21 7 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(); 
      } 

     } 

それは分裂したではないが、

INPUT

フランスの警察はマリの本部を探していた適切な出力を取得ファイルNEルPeの

.....長いテキスト

OUTPUT

RHL eaithqt MnensrgFttaeoa Manloo egontagmsfran doyrmaastaNfaoRe eraaatsih時間のFERR

と同じ出力であります5つのファイルに書かれています

+0

扱うテキストファイルがランダムアクセスで分割されるのはなぜですか?そのテキストがぎこちなくなる危険はありませんか? –

答えて

1

ループを変更する必要があります

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

また、os.write(racces.readInt())をint型に変更しました。 ため\t \t \t \t \t \t \t \t \t \t(INT J = 0; J

+0

なぜ、あなたが 'readInt' –

関連する問題