在Java web应用程序中存储临时文件的位置



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

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

我将把我的应用程序部署为一场战争,所以我知道可能会有问题。

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

你有什么建议?有什么最佳实践吗?

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

如何在Java中创建临时目录/文件夹?-以及如何在Java7中以最佳方式实现这一点。

听起来,简单的临时文件正是你所需要的——你真的不需要担心把它们存储在哪里,Java可以帮你做到这一点。如果您只是暂时需要它们,为什么要将它们存储在DB中?数据库用于您关心的持久性存储。还有连载的麻烦,不。。。

最新更新