public int read() throws IOException {
        if (end) {
            return -1;
        }
        if (Chunked > 0) {
            Chunked--;
            return In.read();
        }
        int b = 0;
        StringBuffer sb = new StringBuffer();
        /*sJn܂œǂݍ*/
        byte[] array = new byte[1];
        while (!(b == 0x0d || b == 0x0a || b == -1)){
            array[0] = (byte)b;
            sb.append(new String(array));
            b = In.read();
        }
        /*`N̒lm*/
        try {
            Chunked = Integer.parseInt(sb.substring(0), 16);
        } catch (NumberFormatException ex) {
            Chunked = 0;
        }
        if(Chunked <= 0){
            end = true;
            return -1;
        }
        /*sI܂œǂݍ*/
        while(b != 0x0a){
            b = In.read();
        }
        /*ʂɓǂݍ*/
        Chunked--;
        return In.read();
    }