【问题标题】:Path to a file on my JBoss server from a servlet从 servlet 到我的 JBoss 服务器上的文件的路径
【发布时间】:2012-02-16 20:43:50
【问题描述】:

我在 Eclipse 上的项目中附加了一个 csv 文件,并且该项目有一个 servlet,它部署在本地 JBoss 服务器上进行开发。

我想访问这个 csv 文件,我可以在我的计算机上使用绝对路径,如下所示:

CSVExtractor csvE = new CSVExtractor("C:/workspace/myproject/WebContent/data.csv");

这种方法的问题在于它在任何方面都不可移植。我相信 JBoss 我提供了一种方法,因此我可以访问我的项目中的文件,但我没有找到它。首选的方法是什么?

PS:我也认为将这样的文件放在我的 WebContent 文件夹中是一种不好的做法,将此类内容与用户隔离的最佳方法是什么?

【问题讨论】:

    标签: java jsp jboss path


    【解决方案1】:

    您可以只创建一个指定目录的属性文件。这将允许您的用户在不重新部署存档的情况下修改目录和热交换 .csv。

    【讨论】:

      【解决方案2】:

      将它添加到您的类路径(WEB-INF/classes 或 lib)并作为类路径资源访问它。这是example。类路径资源是可移植的,不像它们与部署档案本身捆绑在一起。

      这里有一个tutorial 供您开始使用。

      【讨论】:

      • 当您说“将其添加到 /WEB-INF/lib”时,您的意思是将 data.csv 放入该文件夹中?我已经做到了,但我现在无法弄清楚路径是什么。是 /myproject/WEB-INF/lib/data.csv 吗?我错过了什么吗?
      • @ThiagoMoraes 将其移至课堂。阅读我添加的教程
      【解决方案3】:

      试试这个:

          String path = Thread.currentThread().getContextClassLoader().getResource("language/file.xml").getPath();
      
          File f = new File(path);
      
          System.out.println(f.getAbsolutePath());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多