From 59a43b43716f4496c4e466598f3534ae38c5c704 Mon Sep 17 00:00:00 2001 From: huzhongying Date: Tue, 15 Feb 2022 10:49:53 +0800 Subject: [PATCH 1/2] add method --- .../main/java/cn/hutool/core/io/FileUtil.java | 42 +++++++++++++++++++ .../java/cn/hutool/core/io/FileUtilTest.java | 11 +++++ 2 files changed, 53 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java index 72eb18ca6..fff7844eb 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FileUtil.java @@ -891,6 +891,48 @@ public class FileUtil extends PathUtil { return createTempFile("hutool", null, dir, true); } + /** + * 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].tmp。 + * 默认临时文件目录由系统属性 java.io.tmpdir 指定。 + * 在 UNIX 系统上,此属性的默认值通常是 "tmp""vartmp"; + * 在 Microsoft Windows 系统上,它通常是 "C:\\WINNT\\TEMP"。 + * 调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响。 + * @return 临时文件 + * @throws IORuntimeException IO异常 + */ + public static File createTempFile() throws IORuntimeException { + return createTempFile("hutool", null, null, true); + } + /** + * 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].suffix。 + * 默认临时文件目录由系统属性 java.io.tmpdir 指定。 + * 在 UNIX 系统上,此属性的默认值通常是 "tmp""vartmp"; + * 在 Microsoft Windows 系统上,它通常是 "C:\\WINNT\\TEMP"。 + * 调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响。 + * @param suffix 后缀,如果null则使用默认.tmp + * @param isReCreat 是否重新创建文件(删掉原来的,创建新的) + * @return 临时文件 + * @throws IORuntimeException IO异常 + */ + public static File createTempFile(String suffix, boolean isReCreat) throws IORuntimeException { + return createTempFile("hutool", suffix, null, isReCreat); + } + /** + * 在默认临时文件目录下创建临时文件,创建后的文件名为 prefix[Randon].suffix。 + * 默认临时文件目录由系统属性 java.io.tmpdir 指定。 + * 在 UNIX 系统上,此属性的默认值通常是 "tmp""vartmp"; + * 在 Microsoft Windows 系统上,它通常是 "C:\\WINNT\\TEMP"。 + * 调用 Java 虚拟机时,可以为该系统属性赋予不同的值,但不保证对该属性的编程更改对该方法使用的临时目录有任何影响。 + * + * @param prefix 前缀,至少3个字符 + * @param suffix 后缀,如果null则使用默认.tmp + * @param isReCreat 是否重新创建文件(删掉原来的,创建新的) + * @return 临时文件 + * @throws IORuntimeException IO异常 + */ + public static File createTempFile(String prefix, String suffix, boolean isReCreat) throws IORuntimeException { + return createTempFile(prefix, suffix, null, isReCreat); + } /** * 创建临时文件
* 创建后的文件名为 prefix[Randon].tmp diff --git a/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java index 13bf3382f..e967dc1e9 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java @@ -452,4 +452,15 @@ public class FileUtilTest { List list = ListUtil.toList("a", "b", "c"); FileUtil.appendLines(list, FileUtil.file("d:/test/appendLines.txt"), CharsetUtil.CHARSET_UTF_8); } + + @Test + @Ignore + public void createTempFileTest(){ + File nullDirTempFile = FileUtil.createTempFile(); + Assert.assertTrue(nullDirTempFile.exists()); + + File suffixDirTempFile = FileUtil.createTempFile(".xlsx",true); + Assert.assertTrue(FileUtil.getSuffix(suffixDirTempFile).equals("xlsx")); + } + } From 623a2a44f7201ec20a98161ea82162d193a96038 Mon Sep 17 00:00:00 2001 From: huzhongying Date: Tue, 15 Feb 2022 11:09:22 +0800 Subject: [PATCH 2/2] add method test --- hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java index e967dc1e9..53e8481ac 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/FileUtilTest.java @@ -461,6 +461,9 @@ public class FileUtilTest { File suffixDirTempFile = FileUtil.createTempFile(".xlsx",true); Assert.assertTrue(FileUtil.getSuffix(suffixDirTempFile).equals("xlsx")); + + File prefixDirTempFile = FileUtil.createTempFile("prefix",".xlsx",true); + Assert.assertTrue(FileUtil.getPrefix(prefixDirTempFile).startsWith("prefix")); } }