diff --git a/pom.xml b/pom.xml index c67aa35..92ace9e 100644 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,7 @@ com.ilummc.eagletdl org.ow2.asm com.google.code.gson + net.objecthunter false @@ -154,6 +155,11 @@ scala-library 2.12.7 + + net.objecthunter + exp4j + 0.4.8 + bukkit bukkit1_12 diff --git a/src/main/java/me/skymc/taboolib/fileutils/FileUtils.java b/src/main/java/me/skymc/taboolib/fileutils/FileUtils.java index f9c4043..b35dc1f 100644 --- a/src/main/java/me/skymc/taboolib/fileutils/FileUtils.java +++ b/src/main/java/me/skymc/taboolib/fileutils/FileUtils.java @@ -302,76 +302,15 @@ public class FileUtils { * @param file2 文件2 */ public static void fileChannelCopy(File file1, File file2) { - FileInputStream fileIn = null; - FileOutputStream fileOut = null; - FileChannel channelIn = null; - FileChannel channelOut = null; - try { - fileIn = new FileInputStream(file1); - fileOut = new FileOutputStream(file2); - channelIn = fileIn.getChannel(); - channelOut = fileOut.getChannel(); + try (FileInputStream fileIn = new FileInputStream(file1); + FileOutputStream fileOut = new FileOutputStream(file2); + FileChannel channelIn = fileIn.getChannel(); + FileChannel channelOut = fileOut.getChannel()) { channelIn.transferTo(0, channelIn.size(), channelOut); } catch (IOException ignored) { - } finally { - IOUtils.closeQuietly(channelIn); - IOUtils.closeQuietly(channelOut); - IOUtils.closeQuietly(fileIn); - IOUtils.closeQuietly(fileOut); } } - /** - * 通过输入流读取文本 - * - * @param in 输入流 - * @param size 大小 - * @param encode 编码 - * @return 文本 - */ - public static String getStringFromInputStream(InputStream in, int size, String encode) { - try { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] b = new byte[size]; - int i; - while ((i = in.read(b)) > 0) { - bos.write(b, 0, i); - } - return new String(bos.toByteArray(), encode); - } catch (IOException ignored) { - } - return null; - } - - /** - * 通过文件读取文本 - * - * @param file 文件 - * @param size 大小 - * @param encode 编码 - * @return 文本 - */ - public static String getStringFromFile(File file, int size, String encode) { - FileInputStream fin = null; - BufferedInputStream bin = null; - try { - fin = new FileInputStream(file); - bin = new BufferedInputStream(fin); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] b = new byte[size]; - int i; - while ((i = bin.read(b)) > 0) { - bos.write(b, 0, i); - } - return new String(bos.toByteArray(), encode); - } catch (IOException ignored) { - } finally { - IOUtils.closeQuietly(bin); - IOUtils.closeQuietly(fin); - } - return null; - } - /** * 通过 URL 读取文本 * @@ -397,14 +336,9 @@ public class FileUtils { try { conn = new URL(url).openConnection(); bin = new BufferedInputStream(conn.getInputStream()); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] b = new byte[size]; - int i; - while ((i = bin.read(b)) > 0) { - bos.write(b, 0, i); - } - return new String(bos.toByteArray(), conn.getContentEncoding() == null ? "UTF-8" : conn.getContentEncoding()); - } catch (IOException ignored) { + return getStringFromInputStream(bin, size, conn.getContentEncoding() == null ? "UTF-8" : conn.getContentEncoding()); + } catch (IOException e) { + e.printStackTrace(); } finally { IOUtils.close(conn); IOUtils.closeQuietly(bin); @@ -412,6 +346,55 @@ public class FileUtils { return null; } + /** + * 通过文件读取文本 + * + * @param file 文件 + * @param size 大小 + * @param encode 编码 + * @return 文本 + */ + public static String getStringFromFile(File file, int size, String encode) { + try (FileInputStream fin = new FileInputStream(file); BufferedInputStream bin = new BufferedInputStream(fin)) { + return getStringFromInputStream(fin, size, encode); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 通过输入流读取文本 + * + * @param in 输入流 + * @param size 大小 + * @param encode 编码 + * @return 文本 + */ + public static String getStringFromInputStream(InputStream in, int size, String encode) { + try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) { + byte[] b = new byte[size]; + int i; + while ((i = in.read(b)) > 0) { + bos.write(b, 0, i); + } + return new String(bos.toByteArray(), encode); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 下载文件 + * + * @param url 下载地址 + * @param file 下载位置 + */ + public static void download(String url, File file) { + download(url, file, false); + } + /** * 下载文件 * @@ -440,10 +423,6 @@ public class FileUtils { } } - public static void download(String url, File file) { - download(url, file, false); - } - @Deprecated public static void download(String url, String filename, File saveDir) { download(url, new File(saveDir, filename)); diff --git a/src/main/java/me/skymc/taboolib/javascript/ScriptHandler.java b/src/main/java/me/skymc/taboolib/javascript/ScriptHandler.java index 694bb7b..eb18af2 100644 --- a/src/main/java/me/skymc/taboolib/javascript/ScriptHandler.java +++ b/src/main/java/me/skymc/taboolib/javascript/ScriptHandler.java @@ -18,7 +18,6 @@ public class ScriptHandler { private static ScriptEngine scriptEngine; private static ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); - private static FileConfiguration scriptsFile; public static void inst() { try { @@ -31,8 +30,7 @@ public class ScriptHandler { public static CompiledScript compile(String script) { try { - Compilable compilable = (Compilable) scriptEngine; - return compilable.compile(script); + return ((Compilable) scriptEngine).compile(script); } catch (Exception e) { TLogger.getGlobalLogger().info("§4JavaScript §c" + script + "§4 Compile Failed: §c" + e.toString()); return null;