
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); } } }

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); } } } }

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(); } }