工具类 读取本地二进制文件到String字符串中

注意:本工具类就是只能读取本地的<二进制>文件。

import java.io.*;

/**
 * 文件操作工具类
 *
 * @author edison_kwok
 */
public class FileUtils {

    /**
     * 本地文件重命名
     *
     * @param file
     * @param newName
     */
    public static void rename(File file, String newName) {
        if (file.exists()) {
            String absolutePath = file.getAbsolutePath();
            String path = absolutePath.substring(0, absolutePath.lastIndexOf("\\") + 1);
            file.renameTo(new File(path + newName));
        }
    }

    /**
     * 功能:Java读取txt文件的内容
     * 步骤:1:先获得文件句柄
     * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
     * 3:读取到输入流后,需要读取生成字节流
     * 4:一行一行的输出。readline()。
     * 备注:需要考虑的是异常情况
     *
     * @param filePath
     */
    public static String readFile(String filePath) {
        InputStreamReader read = null;
        BufferedReader bufferedReader = null;
        String lineTxt = null;
        try {
            String encoding = "UTF-8";
            File file = new File(filePath);
            //判断文件是否存在
            if (file.isFile() && file.exists()) {
                //考虑到编码格式
                read = new InputStreamReader(new FileInputStream(file), encoding);
                bufferedReader = new BufferedReader(read);
                StringBuilder stringBuilder = new StringBuilder();
                while ((lineTxt = bufferedReader.readLine()) != null) {
                    stringBuilder.append(lineTxt);
                }
                return stringBuilder.toString();
            } else {
                throw new RuntimeException("该文件不存在");
            }
        } catch (Exception e) {
            throw new RuntimeException(e.getMessage());
        } finally {
            try {
                if (bufferedReader != null) {
                    bufferedReader.close();
                }
                if (read != null) {
                    read.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }

    /**
     * 输出流导出本地文件
     *
     * @param is
     * @param os
     * @throws Exception
     */
    public static void fileUpload(InputStream is, OutputStream os) throws Exception {
        byte[] b = new byte[2048];
        int length = 0;
        while (true) {
            length = is.read(b);
            if (length < 0) break;
            os.write(b, 0, length);
        }
        is.close();
        os.close();
    }

}

转载于:https://my.oschina.net/edisonOnCall/blog/3080232

你可能感兴趣的:(工具类 读取本地二进制文件到String字符串中)