-1
我希望我的代碼能夠在直接從jar運行應用程序時獲取文件路徑(如字符串)。這是我嘗試如何在運行jar時從URL獲取路徑 - Java
URL url = LispConnector.class.getResource("/Aima/aima/quicklisp/setup.lisp");
String path = url.getFile();
File f = new File(path);
path = f.getAbsolutePath();
path = path.replace("\\", "/");
雖然當我運行從NetBeans中的應用程序能正常工作,返回的absoulte路徑不正確,當我直接運行的jar文件。返回的路徑
當我使用的代碼
String path = url.toURI();
File = new File(path);
path = path.getAbsolutePath();
它再次從NetBeans中運行時工作正常,但顯示錯誤,同時運行的jar文件「URI不分層」的錯誤。
我的問題是,如何從jar中直接運行應用程序時獲取文件的絕對路徑。 我不想讀取文件的內容,我只需要將absoulte路徑作爲字符串!
不要嘗試使用文件路徑訪問JAR中的資源。由於它們在JAR文件中,因此它們不是文件系統的一部分(因此無法使用文件路徑訪問)。只需使用'getResourceAsStream(..)'檢索InputStream,然後從InputStream中讀取數據。 – Robert
我不想讀取數據,我只需要一個字符串的路徑! –
如果你不想讀取數據你想用它做什麼?檢查存在? – Robert