2017-02-21 1 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

..... 긴 텍스트

출력

RHL는 MnensrgFttaeoa는 egontagmsfran doyrmaastaNfaoRe는 eraaatsih는 열연 FERR

동일한 출력된다 Manloo eaithqt 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 (; J

+0

그래, 왜 당신이'readInt' –

관련 문제