【问题标题】:Find relative path of java application查找java应用程序的相对路径
【发布时间】:2013-06-06 02:14:35
【问题描述】:

我已阅读 StackOverflow 中与此相关的所有其他问题,但没有找到任何明确的答复。 简而言之,我有一个应用程序,它将一些文件存储在我将使用的目录中,而不是处理它们。我打算将我的应用程序移动到不同的地方(其他计算机),所以我需要有一个相对路径来使用,这样我就不会每次都改变它。 有谁知道如何获取应用程序的相对路径(不是完整路径),以便我可以在这种情况下使用?如果我要问的不是赖特,请告诉我另一种实现我需要的方法。谢谢

【问题讨论】:

    标签: java jsf managed-bean


    【解决方案1】:

    只需使用"./"

    无论您的应用程序从哪个目录启动,"./" 将始终返回该目录。

    例如:

    new File("./") 将返回一个文件对象,指向您的 java 应用程序启动的目录

    new File("./myDirectory") 将返回一个指向 myDirectory 文件夹的文件对象,该文件夹位于启动您的 java 应用程序的目录中

    【讨论】:

      【解决方案2】:

      这是一种方法:

      我相信您需要在配置/属性文件中定义包含文件的目录路径。当您移动应用程序或包含该文件的目录时,您可以更改配置文件中的路径。这就是你的属性文件(比如说 config.properties)内容应该是这样的:

      filesDirPath=\usr\home\test

      这是你应该在代码中做的:

        private void readConfig()
          {
              Properties prop = new Properties();
      
              try {
                     //load a properties file
                  prop.load(new FileInputStream("config.properties"));
      
                     //get the directory path property value
                      String flesDirPath = prop.getProperty("filesDirPath");
      
                      System.out.println("Files to be read are located in dir : "  + flesDirPath );
      
      
              } catch (IOException ex) {
                  ex.printStackTrace();
              }
      
          }
      

      【讨论】:

      • 谢谢,但我需要更一般的东西。无论如何再次感谢:)
      猜你喜欢
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多