Mendapatkan jalur relatif
Catatan: Jalur relatif (yaitu, tanpa menentukan siapa yang relatif pada saat itu) dapat diperoleh dengan cara berikut (apakah itu proyek java umum atau proyek web)
String relativePath=System.getProperty("user.dir");
Di jalur relatif di atas, file dalam proyek java relatif terhadap direktori root proyek
Jalur file dalam proyek web bervariasi tergantung pada server web yang berbeda (Tomcat relatif terhadap direktori instalasi Tomcatbin)
Mendapatkan direktori pemuatan kelas kedua (yaitu, memperoleh direktori pemuatan kelas tertentu saat dijalankan)
1.1) Metode umum pertama (apakah itu proyek java umum atau proyek web, pertama-tama cari direktori tingkat pertama tempat Anda dapat melihat jalur paket)
InputStream adalah=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
(Jalur file test.txt adalah nama proyeksrctest.txt; direktori tingkat pertama dari paket tempat kelas TestAction berada berada di bawah direktori src)
Pada rumus di atas, ganti saja TestAction dan test.txt dengan nama kelas dan nama file yang sesuai.
1.2) Cara umum kedua (cara ini mirip dengan cara 1.1, hanya saja cara ini harus diawali dengan '/')
InputStream adalah=Test1.class.getResourceAsStream("/test.txt");
(Jalur file test.txt adalah nama proyeksrctest.txt, dan direktori tingkat pertama dari paket tempat kelas Test1 berada berada di bawah direktori src)
Mendapatkan direktori root dari tiga proyek web (setelah rilis)
1 Mulai dari servlet
Anda dapat membuat servlet dan menulis pernyataan berikut dalam metode initnya
ServletContext s1=ini.getServletContext();
String temp=s1.getRealPath("/"); (kunci)
Hasilnya seperti: D:ToolsTomcat-6.0webapps 02_ext (002_ext adalah nama proyeknya)
Jika s1.getRealPath("") dipanggil, outputnya adalah D:ToolsTomcat-6.0webapps 02_ext (kurang satu "")
2 Mulai dari httpServletRequest
String cp11111=permintaan.getSession().getServletContext().getRealPath("/");
Hasilnya seperti: D:ToolsTomcat-6.0webapps 02_ext
Mendapatkan classpath keempat (di Eclipse, mendapatkan path ke direktori src atau kelas)
Metode 1 Utas.currentThread().getContextClassLoader().getResource("").getPath()
misalnya: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
Sistem.keluar.println("t---"+t);
Keluaran:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
Metode 2 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse adalah kelas dalam paket src tertentu, sama di bawah)
misalnya:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);
Keluaran: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/
Selain itu, jika Anda ingin meletakkan file dalam paket tertentu, Anda dapat memperoleh file tersebut dengan cara berikut (cari terlebih dahulu direktori level terakhir dari paket tersebut)
misalnya String p2=JdomParse.class.getResource("").getPath();
System.out.println("JdomParse.class.getResource---"+p2);
Output: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse adalah kelas dalam paket jdom di direktori src)