我需要演示一个基于xml的数据交换系统。它在学校的可信计算机上进行离线演示。应用程序稍后将获取数据库,但仅针对此演示文稿,我只需要显示xml文件的布局,打开和保存以及表如何从xml获取数据。
那么,什么是让网络应用程序暂时创建xml文件的最佳位置,以便我可以展示这个应用程序?我正在使用Eclipse和Tomcat。
如前所述,安全性根本不是问题,因为这个版本不会在线。此外,每次运行应用程序时都可以删除文件。
它们只需在应用程序运行一次的演示期间存在。所以,我无能为力的最佳位置以及如何获得这样的位置的路径,而不依赖于所使用的计算机。
谢谢。
使用属性java.io.tmpdir
获取tomcat
临时文件夹并将文件保存在那里。这将是暂时让他们进入的好地方。所以你可以按如下方式定义它:
public static final String TMP_DIR = System.getProperty("java.io.tmpdir")
使用指示的属性java.io.tmpdir
或使用规范中定义的servlet上下文属性javax.servlet.context.tempdir
。对于tomcat,该属性可以通过上下文中的workDir属性进行更改。
您可以通过调用servletContext.getAttribute("javax.servlet.context.tempdir")
来使用该属性
老问题,但如果有创建临时文件的原因为什么不使用File.createTempFile
函数?
例:
File temp = File.createTempFile("real",".howto");
temp.deleteOnExit();
您可以使用此方法根据您的操作系统获取temp
文件位置
public static String getSystemFileLocation()
{
File tmpFile = null;
String fileLocation="/tmp/";
if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") == 0) {
tmpFile=new File("c:\\temp");
if(tmpFile.exists()) {
fileLocation="c:\\temp\\";
}
else {
tmpFile.mkdir();
fileLocation="c:\\temp\\";
}
}
else if (System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") == -1) {
fileLocation="/tmp/";
}
return fileLocation;
}