zoukankan      html  css  js  c++  java
  • 反射工具类、流操作工具类、文件操作工具类

    package hjp.smart4j.framework.util;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    
    /**
     * 反射工具类
     */
    public final class ReflectionUtil {
        private static final Logger LOGGER = LoggerFactory.getLogger(ReflectionUtil.class);
    
        /**
         * 创建实例
         */
        public static Object newInstance(Class<?> cls) {
            Object instance;
            try {
                instance = cls.newInstance();
            } catch (Exception e) {
                LOGGER.error("new instance failure", e);
                throw new RuntimeException(e);
            }
            return instance;
        }
    
        /**
         * 调用方法
         */
        public static Object invokeMethod(Object obj, Method method, Object... args) {
            Object result;
            try {
                method.setAccessible(true);//true 则指示反射的对象在使用时应该取消 Java 语言访问检查, false 则指示反射的对象应该实施 Java 语言访问检查
                result = method.invoke(obj, args);
            } catch (Exception e) {
                LOGGER.error("invoke method failure", e);
                throw new RuntimeException(e);
            }
            return result;
        }
    
        /**
         * 设置成员变量的值
         */
        public static void setField(Object obj, Field field, Object value) {
            try {
                field.setAccessible(true);
                field.set(obj, value);
            } catch (Exception e) {
                LOGGER.error("set field failure", e);
                throw new RuntimeException(e);
            }
        }
    }
    ReflectionUtil
    package hjp.smart4j.framework.util;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    
    /**
     * 流操作工具类
     */
    public final class StreamUtil {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(StreamUtil.class);
    
        /**
         * 从输入流中获取字符串
         */
        public static String getString(InputStream inputStream) {
            StringBuilder stringBuilder = new StringBuilder();
            try {
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    stringBuilder.append(line);
                }
            } catch (Exception e) {
                LOGGER.error("get string failure", e);
                throw new RuntimeException(e);
            }
            return stringBuilder.toString();
        }
    
        /**
         * 将输入流复制到输出流
         */
        public static void copyStream(InputStream inputStream, OutputStream outputStream) {
            try {
                int length;
                byte[] buffer = new byte[4 * 1024];
                while ((length = inputStream.read(buffer, 0, buffer.length)) != -1) {
                    outputStream.write(buffer, 0, length);
                }
                outputStream.flush();
            } catch (Exception e) {
                LOGGER.error("copy stream failure", e);
                throw new RuntimeException(e);
            } finally {
                try {
    
                } catch (Exception e) {
                    LOGGER.error("close stream failure", e);
                }
            }
        }
    
    }
    StreamUtil
    package hjp.smart4j.framework.util;
    
    import org.apache.commons.io.FileUtils;
    import org.apache.commons.io.FilenameUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.File;
    
    /**
     * 文件操作工具类
     */
    public final class FileUtil {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(FileUtil.class);
    
        /**
         * 获取真实文件名(自动去掉文件路径)
         */
        public static String getRealFileName(String fileName) {
            return FilenameUtils.getName(fileName);
        }
    
        /**
         * 创建文件
         */
        public static File createFile(String filePath) {
            File file;
            try {
                file = new File(filePath);
                File parentDir = file.getParentFile();
                if (!parentDir.exists()) {
                    FileUtils.forceMkdir(parentDir);
                }
                file.createNewFile();
            } catch (Exception e) {
                LOGGER.error("create file failure", e);
                throw new RuntimeException(e);
            }
            return file;
        }
    
        /**
         * 删除文件
         */
        public static boolean deleteFile(String filePath) {
            File file = new File(filePath);
            if (file.isFile()) {
                return file.delete();
            } else {
                return deleteDir(file);
            }
        }
    
        private static boolean deleteDir(File file) {
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                for (File file1 : files) {
                    if(file1.isDirectory()){
                        deleteDir(file1);
                    }else {
                        file1.delete();
                    }
                }
            }
            return file.delete();
        }
    }
    FileUtil
  • 相关阅读:
    蓝桥杯Java真题解析
    第十届蓝桥杯JavaB组总结
    Java框架相关
    认识JDBC
    Lua中 MinXmlHttpRequest如何发送post方式数据
    ios 的EditBox点击空白处不隐藏的解决方案
    AssetsManager 在ios更新失败解决方案
    Cocos Studio编辑器运行日志路径
    华为 进入和退出Fastboot、eRecovery和Recovery升级模式
    cocos lua 加密方案
  • 原文地址:https://www.cnblogs.com/hujiapeng/p/5584529.html
Copyright © 2011-2022 走看看