diff --git a/mica-core/src/main/java/net/dreamlu/mica/core/utils/FileUtil.java b/mica-core/src/main/java/net/dreamlu/mica/core/utils/FileUtil.java index 410200faf3cf856d2ca44fd995e0f213d15ea36e..fa634f01e561ab470798de7b629df30677a0c02a 100644 --- a/mica-core/src/main/java/net/dreamlu/mica/core/utils/FileUtil.java +++ b/mica-core/src/main/java/net/dreamlu/mica/core/utils/FileUtil.java @@ -29,6 +29,7 @@ import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; import java.util.ArrayList; import java.util.List; @@ -299,8 +300,8 @@ public class FileUtil extends org.springframework.util.FileCopyUtils { * @return the file contents, never {@code null} */ public static String readToString(final File file, final Charset encoding) { - try (InputStream in = Files.newInputStream(file.toPath())) { - return IoUtil.readToString(in, encoding); + try { + return Files.readString(file.toPath(), encoding); } catch (IOException e) { throw Exceptions.unchecked(e); } @@ -314,8 +315,8 @@ public class FileUtil extends org.springframework.util.FileCopyUtils { * @return the file contents, never {@code null} */ public static byte[] readToByteArray(final File file) { - try (InputStream in = Files.newInputStream(file.toPath())) { - return IoUtil.readToByteArray(in); + try { + return Files.readAllBytes(file.toPath()); } catch (IOException e) { throw Exceptions.unchecked(e); } @@ -364,8 +365,12 @@ public class FileUtil extends org.springframework.util.FileCopyUtils { * end of the file rather than overwriting */ public static void writeToFile(final File file, final String data, final Charset encoding, final boolean append) { - try (OutputStream out = new FileOutputStream(file, append)) { - IoUtil.write(data, out, encoding); + try { + if (append) { + Files.writeString(file.toPath(), data, encoding, StandardOpenOption.CREATE, StandardOpenOption.APPEND); + } else { + Files.writeString(file.toPath(), data, encoding, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE); + } } catch (IOException e) { throw Exceptions.unchecked(e); } diff --git a/mica-core/src/main/java/net/dreamlu/mica/core/utils/PathUtil.java b/mica-core/src/main/java/net/dreamlu/mica/core/utils/PathUtil.java index 76a1106d0643ccb70a57b25a427be10b31ccca40..4fa28e011002dfea9b81d4c6eed73c38674724df 100644 --- a/mica-core/src/main/java/net/dreamlu/mica/core/utils/PathUtil.java +++ b/mica-core/src/main/java/net/dreamlu/mica/core/utils/PathUtil.java @@ -47,7 +47,7 @@ public class PathUtil { } @Nullable - public static String toFilePath(@Nullable URL url) { + private static String toFilePath(@Nullable URL url) { if (url == null) { return null; } String protocol = url.getProtocol(); String file = UrlUtil.decode(url.getPath(), Charsets.UTF_8); diff --git a/mica-core/src/main/java/net/dreamlu/mica/core/utils/RuntimeUtil.java b/mica-core/src/main/java/net/dreamlu/mica/core/utils/RuntimeUtil.java index 40c7d7c40cdb0f0015b2613876fc8c228ce01f65..908704c10feae1bf9b0ef351f3fa77326ffa1b15 100644 --- a/mica-core/src/main/java/net/dreamlu/mica/core/utils/RuntimeUtil.java +++ b/mica-core/src/main/java/net/dreamlu/mica/core/utils/RuntimeUtil.java @@ -52,7 +52,7 @@ public class RuntimeUtil { pId = NumberUtil.toInt(jvmName.substring(0, index), -1); return pId; } - return -1; + return pId; } /** diff --git a/mica-core/src/main/java/net/dreamlu/mica/core/utils/ThreadLocalUtil.java b/mica-core/src/main/java/net/dreamlu/mica/core/utils/ThreadLocalUtil.java index d336d552bd59789e3cf79685c70b3297aaf4e607..e1d49dd687e53903bb91836e1b3d9cde021611f6 100644 --- a/mica-core/src/main/java/net/dreamlu/mica/core/utils/ThreadLocalUtil.java +++ b/mica-core/src/main/java/net/dreamlu/mica/core/utils/ThreadLocalUtil.java @@ -128,6 +128,7 @@ public class ThreadLocalUtil { * @see this#get(String) * @see this#remove(String) */ + @Nullable public static T getAndRemove(String key) { try { return get(key); diff --git a/mica-core/src/test/java/net/dreamlu/mica/test/utils/FileTest.java b/mica-core/src/test/java/net/dreamlu/mica/test/utils/FileTest.java index 4273039f0752e6cf5667d0d5a77889a093a26be1..48fc826b832325dadd678093f4ce76b92d311e9d 100644 --- a/mica-core/src/test/java/net/dreamlu/mica/test/utils/FileTest.java +++ b/mica-core/src/test/java/net/dreamlu/mica/test/utils/FileTest.java @@ -4,6 +4,8 @@ import net.dreamlu.mica.core.utils.FileUtil; import org.junit.Assert; import org.junit.Test; +import java.io.File; + /** * 文件测试 * @@ -21,4 +23,21 @@ public class FileTest { String pathWithoutExtension = FileUtil.getPathWithoutExtension(fileName); Assert.assertEquals("123123123.xx", pathWithoutExtension); } + + @Test + public void test2() { + String data = "123哈哈"; + String testFilePath = FileUtil.getTempDirPath() + File.separator + "1.txt"; + File testFile = new File(testFilePath); + FileUtil.writeToFile(testFile, data, false); + String read1 = FileUtil.readToString(testFile); + Assert.assertEquals(data, read1); + String read2 = FileUtil.readToString(testFile); + Assert.assertEquals(data, read2); + FileUtil.writeToFile(testFile, data, true); + String read3 = FileUtil.readToString(testFile); + Assert.assertEquals(data + data, read3); + testFile.deleteOnExit(); + } + }