原文参考: 老姜博客
在日常开发中,我们通常需要先在服务端生成好文件,然后上传到fastdfs或者其他不易失的设备上,对于服务端的文件只是临时性的存放,操作完之后将会删除.
如果每次需要指定文件名的话,其实对开发而已也是比较费劲的.
java File的api中就提供创建临时文件的功能,这样比较方便大家使用.
方法签名: public static File createTempFile(String prefix, String suffix)
调用时可以指定文件的前缀和后缀,主要方便问题排查时使用,可以有效区分其他业务的临时文件.
看栗子:
import java.io.*;
import java.nio.charset.Charset;
public class TempFileDemo {
public static void main(String[] args) throws IOException {
File temp = null;
BufferedWriter writer = null;
try {
temp = File.createTempFile("报税表-", "-南区.txt");
System.out.println(temp.getAbsolutePath());
writer =
new BufferedWriter(new OutputStreamWriter(new FileOutputStream(temp), Charset.defaultCharset()));
writer.write("this is temp text");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null) {
writer.close();
}
if (temp != null) {
temp.delete();
}
}
}
}