All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.siashan.toolkit.crypt.util.CommonUtil Maven / Gradle / Ivy

package com.siashan.toolkit.crypt.util;

import com.siashan.toolkit.crypt.CryptException;

import java.io.*;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

/**
 * 通用工具类
 *
 * @author siashan
 * @since v1.0.1
 **/
public class CommonUtil {

    //------------------------------------------------文件流操作相关-------------------------------------------------------//

    /**
     * 文件转为流
     *
     * @param file 文件
     * @return {@link FileInputStream}
     */
    public static FileInputStream toStream(File file) {
        try {
            return new FileInputStream(file);
        } catch (FileNotFoundException e) {
            throw new CryptException("文件流转换异常");
        }
    }

    /**
     * String 转为流
     *
     * @param content 内容bytes
     * @return 字节流
     */
    public static ByteArrayInputStream toStream(byte[] content) {
        if (content == null) {
            return null;
        }
        return new ByteArrayInputStream(content);
    }

    /**
     * 转换为{@link BufferedInputStream}
     *
     * @param in {@link InputStream}
     * @return {@link BufferedInputStream}
     */
    public static BufferedInputStream toBuffered(InputStream in) {
        return (in instanceof BufferedInputStream) ? (BufferedInputStream) in : new BufferedInputStream(in);
    }


    /**
     * 关闭
* 关闭失败不会抛出异常 * * @param closeable 被关闭的对象 */ public static void close(Closeable closeable) { if (null != closeable) { try { closeable.close(); } catch (Exception e) { // 静默关闭 } } } /** * 获得一个Writer,默认编码UTF-8 * * @param out 输入流 * @return OutputStreamWriter对象 */ public static OutputStreamWriter getUtf8Writer(OutputStream out) { return getWriter(out, StandardCharsets.UTF_8); } /** * 获得一个文件读取器,默认使用UTF-8编码 * * @param in 输入流 * @return BufferedReader对象 */ public static BufferedReader getUtf8Reader(InputStream in) { return getReader(in, StandardCharsets.UTF_8); } /** * 获得一个Reader * * @param in 输入流 * @param charset 字符集 * @return BufferedReader对象 */ public static BufferedReader getReader(InputStream in, Charset charset) { if (null == in) { return null; } InputStreamReader reader; if (null == charset) { reader = new InputStreamReader(in); } else { reader = new InputStreamReader(in, charset); } return new BufferedReader(reader); } /** * 获得一个Writer * * @param out 输入流 * @param charset 字符集 * @return OutputStreamWriter对象 */ public static OutputStreamWriter getWriter(OutputStream out, Charset charset) { if (null == out) { return null; } if (null == charset) { return new OutputStreamWriter(out); } else { return new OutputStreamWriter(out, charset); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy