package sample;

import java.awt.List;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;

public class BinaryFileReader {

	public static void main(String[] args) {
		// TODO ꂽ\bhEX^u
		BinaryFileReader reader = new BinaryFileReader();
        byte[][] bytess = reader.read();

        int count = 0;
        for (byte[] bytes : bytess) {
            count += bytes.length;
        }
        System.out.println("S" + count + "oCgǂݍ݂܂B");
    }

    /**
     * oCit@Cǂݍ݂܂B
     * 
     * @return ǂݍ񂾃f[^oCg2zŕԂ܂B
     */
    public byte[][] read() {
        BufferedInputStream fis = null;
        List<byte[]> list = new ArrayList<byte[]>();
        try {
            // ͌t@C
            File file = new File("C:/Winter.jpg");

            fis = new BufferedInputStream(new FileInputStream(file));
            
            int avail;
            // ǂݍ݉\ȃoCgÂǂݍ
            while ((avail = fis.available()) > 0) {
                byte[] bytes = new byte[avail];
                fis.read(bytes);

                list.add(bytes);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fis != null) {
                    // Xg[͕K finally  close ܂B
                    fis.close();
                }
            } catch (IOException e) {
            }
        }
        byte[][] result = new byte[list.size()][];
        list.toArray(result);

        return result;
		
		
	}

}
