『壹』 java打成jar以後原有的路徑掃描不到。
可以試一下這段代碼
//源代碼1: package e.hxraid;
import java.io.*;
public class Resource {
public void getResource() throws IOException{
File file=new File("bin/resource/res.txt");
BufferedReader br=new BufferedReader(new FileReader(file));
String s="";
while((s=br.readLine())!=null)
System.out.println(s);
}
這段代碼寫在Eclipse建立的java Project中,其目錄為:(其中將資源文件res.txt放在了bin目錄下,以便打成jar包)
『貳』 java打成jar包後讀取非resources文件
在Java項目中,需要讀取resource資源目錄下的文件,以及遍歷指定資源目錄下的所有文件,並且在讀取文件時保留文件相對路徑。
『叄』 Java源碼打成jar包後缺失 文件
eclipse默認的方式,是不會將外部包打入了jar文件的。。。用插件fatjar可以實現所有文件的打包。
『肆』 Jar包找不到文件路徑問題
將字體文件放在 java 程序 resources 資源文件下載入,Thread.currentThread().getContextClassLoader().getResource("").getPath() 這種方式可以正確獲取字體文件路徑。
但是 spring boot 打成 jar 包之後,以上方法就訪問不到字體文件了,需要用流的方式訪問:
『伍』 [java]打包成jar之後找不到文件FileNotFoundException
Java在WEB項目中獲取文件路徑 .
jsp中獲得文件路徑servlet中獲得文件路徑java中獲得文件路徑jsp中獲得文件路徑
1、根目錄所對應的絕對路徑:request.getRequestURI();
2、文件的絕對路徑:application.getRealPath(request.getRequestURI())
3、當前web應用的絕對路徑:application.getRealPath("/")
4、取得請求文件的上層目錄:
newFile(application.getRealPath(request.getRequestURI())).getParent()
servlet中獲得文件路徑
1、根目錄所對應的絕對路徑:request.getServletPath()
2、文件的絕對路徑:
request.getSession().getServletContext().getRealPath(request.getRequestURI())
3、當前web應用的絕對路徑:servletConfig.getServletContext().getRealPath("/")
註:ServletContext對象獲得幾種方式:
javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()
java中獲得文件路徑
1、Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()
2、MyClass.class.getClassLoader().getResource("").toURI().getPath()
3、ClassLoader.getSystemResource("").toURI().getPath()
4、MyClass.class.getResource("").toURI().getPath()
5、MyClass.class.getResource("/").toURI().getPath()
6、newFile("/").getAbsolutePath().toURI().getPath()
7、System.getProperty("user.dir").toURI().getPath()
希望能幫到你
『陸』 生成可運行jar包,老是顯示找不到指定文件
你都生成了JAR文件了,那就意味著相對路徑就是變了
樓主建議你用絕對路徑, 例如 "C:\Users\haha\Desktop\OBJC\0.txt"
這樣就不會有錯了。。。
有些編譯器不同就會出錯
出錯就用 "C:\\Users\\haha\\Desktop\\OBJC\\0.txt"
『柒』 運行jar文件失敗classpath下的資源文件找不到
ApplicationContext act = new (
"classpath:applicationContext.xml"); 這一句話, 你打包完了之後,它在load applicationContext.xml 的時候 路徑變了。
實在找不到對的路徑, 就把那專個配置文屬件拿出來,hard code 寫進去(僅僅 做testing)