2012-12-28 63 views
0

我正在嘗試創建一個File對象以保存我的屬性文件。我需要知道如何從我的包中指定相對路徑,因爲下面的代碼不起作用。從包中爲新文件指定相對路徑

try { 
     File file = new File(new File(Thread.currentThread().getContextClassLoader().getResource("").toURI()), "com/configuration/settings.properties"); 
     try (FileOutputStream fileOutputStream = new FileOutputStream(file)) { 
      properties.store(fileOutputStream, null); 
     } 
    } catch (IOException | URISyntaxException ioe) { 
     System.out.println(ioe); 
    } 
+1

你試過嗎? http://stackoverflow.com/questions/573679/open-resource-with-relative-path-in-java – Gary

回答

0

只需更換這行:

File file = new File("/com/configuration/settings.properties"); 

有:

File file = new File(new File(Thread.currentThread().getContextClassLoader().getResource("").toURI()), "com/configuration/settings.properties"); 
+0

該文件將出現在您的bin文件夾下。 – tuga

0

相對路徑取決於您運行程序的當前工作目錄。

如果您在IDE中運行,IDE可能會將工作目錄路徑設置爲Project目錄。你的程序如何運行取決於你的程序中的classpath到jar/claases。