com.gistlabs.mechanize.util.Util.java Source code

Java tutorial

Introduction

Here is the source code for com.gistlabs.mechanize.util.Util.java

Source

/**
 * Copyright (C) 2012-2014 Gist Labs, LLC. (http://gistlabs.com)
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */
package com.gistlabs.mechanize.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.Header;
import org.apache.http.HttpResponse;

/**
 * @author Martin Kersten<Martin.Kersten.mk@gmail.com>
 */
public class Util {

    public static <T> List<T> newEmptyList() {
        return new ArrayList<T>();
    }

    /** Returns the first header with the given name (case-insensitive) or null. */
    public static Header findHeader(HttpResponse response, String headerName) {
        Header[] headers = response.getHeaders(headerName);
        return headers.length > 0 ? headers[0] : null;
    }

    /** Returns a new File object from the given fileName and deleting the file if already exists. */
    public static File newFile(String fileName) {
        File file = new File(fileName);
        if (file.exists())
            file.delete();
        return file;
    }

    public static void copy(InputStream in, File outFile) throws IOException {
        copy(in, new FileOutputStream(outFile));
    }

    public static void copy(InputStream in, OutputStream out) throws IOException {
        try {
            byte[] buffer = new byte[1024 * 16];
            int len = in.read(buffer);
            while (len != -1) {
                out.write(buffer, 0, len);
                len = in.read(buffer);
            }
        } finally {
            try {
                in.close();
            } catch (Throwable t) {
            }
            try {
                out.close();
            } catch (Throwable t) {
            }
        }
    }

    public static String getStringFromInputStream(InputStream is) {
        BufferedReader br = null;
        StringBuilder sb = new StringBuilder();

        String line;
        try {

            br = new BufferedReader(new InputStreamReader(is));
            while ((line = br.readLine()) != null) {
                sb.append(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        return sb.toString();

    }
}