8

我正在开发一个 java/spring-mvc 网络应用程序,它使用调度系统生成 csv 文件以通过电子邮件发送。

我的第一个想法是在服务器本地生成这些文件,然后将它们发送给收件人,但现在我有一个疑问。临时文件存放在哪里?

我会将我的应用程序部署为战争,所以我知道可能会出现问题。

在我的 WEB-INF 目录中创建一个临时目录是不是一个坏主意?另一种方法是序列化这些文件并将它们存储在数据库表中。

你有什么建议?任何最佳做法?

4

2 回答 2

8

我会把它留在 jvm 上,即使用java.io.tmpdir系统属性。new File(system.getProperty("java.io.tmpdir")).mkdir()在 tmp dir ( )中创建一个目录,或者在 tmp 目录 ( ) 中创建一个文件File.createTempFile("name", ".csv")
对于在 Tomcat 上运行的应用程序,tmp 目录是<catalina_home_directory>/temp.

于 2013-07-31T14:40:40.040 回答
1

如何在 Java 中创建临时目录/文件夹?- 还介绍了如何在 Java 7 中以最佳方式做到这一点。

听起来简单的临时文件正是您所需要的——而且您真的不需要担心将它们存储在哪里,Java 会为您做到这一点。如果您只是暂时需要它们,为什么要将它们存储在数据库中?数据库用于您关心的持久存储。还有序列化的麻烦,恩...

于 2013-07-31T20:32:13.770 回答