我需要演示一个基于xml的数据交换系统。它在学校一台受信任的电脑上离线演示。应用程序稍后将获得数据库,但就本次演示而言,我只需要展示xml文件的布局、打开和保存以及表如何从xml中获取数据。
那么,让web应用临时创建xml文件以便我可以展示这个应用程序的最佳位置是什么?我正在使用Eclipse和Tomcat。
如前所述,安全性根本不是问题,因为这个版本不会在线。此外,如果每次应用程序运行时文件都被擦除,则是ok的。
它们只需要在应用程序运行一次的演示期间存在。所以,我不知道什么是最好的位置,以及如何得到这个位置的路径,而不取决于所使用的计算机。
谢谢。
使用属性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;
}