java - Java中用于导出csv文件的相对路径

标签 java file path relative-path

我在 Windows 系统上开发了一个 Java WebApp。它是一个分析程序,通过导出按钮将结果集导出到 Excel 的 csv 文件。

现在事实是:我已经对要导出的文件的路径进行了硬编码:

public String button1_action() {
   GenerateCSV  generateCSV = new GenerateCSV();

   Date zeitstempel = new Date();
   SimpleDateFormat simpleDateFormat = new SimpleDateFormat ("_dd.MM.yyyy_HH.mm.ss");

   generateCSV.generateCsvFile("h:/VR-Analyse-Tool_Excel Output" +simpleDateFormat.format(zeitstempel) +".csv", getSessionBean1().getExistingRightsList()); 

   return null;
}

在我的本地系统上运行良好。

现在我已经在 Linux 系统的 tomcat6 上部署了 .war 文件。现在这条路已经行不通了。有人可以帮助我吗?我不知道如何解决这个问题。

该程序适用于我公司的其他用户,他们应该能够在服务器上的个人驱动器/空间/数量上导出 csv 文件。每个人在此服务器上都有自己的驱动器,驱动器号为 (h:)。

最佳答案

我强烈建议不要在相对路径中写入文件,因为这在不同的系统(操作系统)中会有不同的解释 您最不想做的就是调试文件的创建位置

您可以选择以下任何一种方法

1) 在.properties 文件中声明值并从java 程序中读取该值。 这样当环境发生变化时,只需要编辑属性文件即可。所以需要重新编译

2)或者更好的是,您可以拥有此数据库表并使用它。

3) 您可以在 Web.xml 中指定应用程序上下文变量并使用它

 <?xml version="1.0" encoding="ISO-8859-1"?>
 <web-app>
   <context-param>
     <param-name>csv_file_path</param-name>
     <param-value>h:/your_file_path</param-value>
   </context-param>
 .
 .
 .
 .
</web-app>

关于java - Java中用于导出csv文件的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15219141/

相关文章:

java - cXML 相当于 json 吗?

c - 从文本文件中读取一行并将其删除

python - 如何使用 python 重命名多个文件?

c# - 在 C# 中过滤特定行

linux - 对 PATH 变量的更改不起作用

python - OS X Python : alias not working anymore, 链接到哪里?

java - 从 android 中的服务接收广播时出现 NULL 对象引用错误

java - 与 Hibernate @LazyToOne 注释等效的 JPA 是什么?

java - 是否有 "Standard"路径,您可以在其中创建 "working folder"?

java - 在 Java 中使用流的 byte[] 到 byte[] 的 ArrayList