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