2015-03-19 24 views
-1

所以我有點卡在一個程序中,我必須使用FileInputStream讀取文本文件,並將該文本劃分爲n字節塊。我必須發出一個System.out.write();要求每個塊,所以我想知道是否有一個簡單的方法來做到這一點。謝謝!Java - 將文本劃分爲n個字節塊

package test; 

import java.io.File; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.util.*; 
import java.io.*; 
import java.util.Scanner; 


public class Test { 

public static void main(String[] args) { 

    int size=0; 

    FileInputStream fstream = null; 
    Scanner console = new Scanner(System.in); 
    String inputFile = console.next(); 

    System.out.println("Chunk size?"); 
    Scanner in = new Scanner(System.in); 
    size = in.nextInt(); 

    try { 
     fstream = new FileInputStream(inputFile); 

     System.out.println("Size in bytes : " 
       + fstream.available()); 

     int content; 

     while ((content = fstream.read()) != -1) { 
      //System.out.write(); for every chunk of *size* bytes 

     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      if (fstream != null) 
       fstream.close(); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 
} 
+0

只是爲了清除事情,我的意思是通過發出寫入電話將每個不同的塊寫出到控制檯。 – 2015-03-19 00:43:44

+0

請勿添加評論 - 編輯您的問題。 – verdammelt 2015-03-19 00:44:55

回答

0
  1. 使用

    字節[]字節=新的字節[大小];

    int byteCount;

    ,而((BYTECOUNT = fstream.read(字節))!= -1) ...

  2. 你可以簡單地創建一個字符串是這樣的:

    新的字符串(字節組);

PS。由於某種原因沒有正常工作...

+0

完美,非常感謝! :) – 2015-03-19 00:57:06