org.javaweb.utils.IOUtils.java Source code

Java tutorial

Introduction

Here is the source code for org.javaweb.utils.IOUtils.java

Source

/*
 * Copyright yz 2016-01-14  Email:admin@javaweb.org.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.javaweb.utils;

import java.io.*;
import java.util.zip.DataFormatException;
import java.util.zip.GZIPInputStream;
import java.util.zip.Inflater;

public class IOUtils extends org.apache.commons.io.IOUtils {

    /**
     * InputStream 
     *
     * @param in
     * @return
     * @throws java.io.IOException
     */
    public static String inputStreamToString(InputStream in) throws IOException {
        int a;
        byte[] b = new byte[1024];
        StringBuilder sb = new StringBuilder();

        try {
            while ((a = in.read(b)) != -1) {
                sb.append(new String(b, 0, a));
            }
        } catch (IOException e) {
            throw e;
        }

        return sb.toString();
    }

    /**
     * ??
     *
     * @param in
     * @return
     * @throws IOException
     */
    public static byte[] inputStreamToByteArray(InputStream in) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int a = 0;
        byte[] b = new byte[1024];

        while ((a = in.read(b)) != -1) {
            baos.write(b, 0, a);
        }

        return baos.toByteArray();
    }

    /**
     * ?
     *
     * @param path
     * @return
     * @throws java.io.IOException
     */
    public static String readFileToString(String path) throws IOException {
        return inputStreamToString(new FileInputStream(path));
    }

    /**
     * GZIP 
     *
     * @param bytes
     * @return
     * @throws IOException
     */
    public static byte[] gunZip(byte[] bytes) throws IOException {
        if (bytes == null || bytes.length == 0) {
            return null;
        }

        ByteArrayInputStream in = new ByteArrayInputStream(bytes);

        try {
            GZIPInputStream unGZip = new GZIPInputStream(in);
            return IOUtils.toByteArray(unGZip);
        } catch (IOException e) {
            throw e;
        }
    }

    /**
     * Inflater 
     *
     * @param data
     * @return
     * @throws DataFormatException
     */
    public static byte[] decompressInflater(byte[] data) throws DataFormatException {
        Inflater inflater = new Inflater();
        inflater.setInput(data);
        ByteArrayOutputStream out = new ByteArrayOutputStream(data.length);
        byte[] buffer = new byte[2048];

        while (!inflater.finished()) {
            int count = inflater.inflate(buffer);
            out.write(buffer, 0, count);
        }

        return out.toByteArray();
    }

}