Java File to String with Limit readFileAsString(File file, int size_limit, String charset)

Here you can find the source of readFileAsString(File file, int size_limit, String charset)

Description

read File As String

License

Open Source License

Declaration

public static String readFileAsString(File file, int size_limit, String charset)

            throws IOException 

Method Source Code


//package com.java2s;
/*/*from  www  .j ava  2  s  . c o  m*/
* Created on Oct 10, 2003
* Modified Apr 14, 2004 by Alon Rohter
* Copyright (C) Azureus Software, Inc, All Rights Reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
* 
*/

import java.io.*;

public class Main {
    public static String readFileAsString(File file, int size_limit, String charset)

            throws IOException {
        FileInputStream fis = new FileInputStream(file);
        try {
            return readInputStreamAsString(fis, size_limit, charset);
        } finally {

            fis.close();
        }
    }

    public static String readFileAsString(File file, int size_limit)

            throws IOException {
        FileInputStream fis = new FileInputStream(file);
        try {
            return readInputStreamAsString(fis, size_limit);
        } finally {

            fis.close();
        }
    }

    public static String readInputStreamAsString(InputStream is, int size_limit)

            throws IOException {
        return readInputStreamAsString(is, size_limit, "ISO-8859-1");
    }

    public static String readInputStreamAsString(InputStream is, int size_limit, String charSet)

            throws IOException {
        StringBuffer result = new StringBuffer(1024);

        byte[] buffer = new byte[64 * 1024];

        while (true) {

            int len = is.read(buffer);

            if (len <= 0) {

                break;
            }

            result.append(new String(buffer, 0, len, charSet));

            if (size_limit >= 0 && result.length() > size_limit) {

                result.setLength(size_limit);

                break;
            }
        }

        return (result.toString());
    }
}