From 98bf498d0f70a110dd989a05de3b6590eaacd3f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A6=82=E6=A2=A6=E6=8A=80=E6=9C=AF?= <596392912@qq.com> Date: Tue, 20 Jul 2021 17:27:34 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E4=BB=A3=E7=A0=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/dreamlu/mica/core/utils/FileUtil.java | 17 +++++++++++------ .../net/dreamlu/mica/core/utils/PathUtil.java | 2 +- .../dreamlu/mica/core/utils/RuntimeUtil.java | 2 +- .../mica/core/utils/ThreadLocalUtil.java | 1 + .../net/dreamlu/mica/test/utils/FileTest.java | 19 +++++++++++++++++++ 5 files changed, 33 insertions(+), 8 deletions(-) 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 410200fa..fa634f01 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 76a1106d..4fa28e01 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 40c7d7c4..908704c1 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 d336d552..e1d49dd6 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 4273039f..48fc826b 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(); + } + } -- GitLab