❶ java讀取文件的幾種方法
方式一:採用ServletContext讀取,讀取配置文件的realpath,然後通過文件流讀取出來。因為是用ServletContext讀取文件路徑,所以配置文件可以放入在web-info的classes目錄中,也可以在應用層級及web-info的目錄中。文件存放位置具體在eclipse工程中的表現是:可以放在src下面,也可放在web-info及webroot下面等。因為是讀取出路徑後,用文件流進行讀取的,所以可以讀取任意的配置文件包括xml和properties。缺點:不能在servlet外面應用讀取配置信息。
方式二:採用ResourceBundle類讀取配置信息,
優點是:可以以完全限定類名的方式載入資源後,直接的讀取出來,且可以在非Web應用中讀取資源文件。缺點:只能載入類classes下面的資源文件且只能讀取.properties文件。
方式三:採用ClassLoader方式進行讀取配置信息
優點是:可以在非Web應用中讀取配置資源信息,可以讀取任意的資源文件信息
缺點:只能載入類classes下面的資源文件。
方法4 getResouceAsStream
XmlParserHandler.class.getResourceAsStream 與classloader不同
❷ java怎麼讀取同一個工程裡面的src目錄下的文件
在java中獲得文件的路徑在我們做上傳文件操作時是不可避免的。x0dx0ax0dx0aweb 上運行 x0dx0a1:this.getClass().getClassLoader().getResource("/").getPath(); x0dx0athis.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的絕對URI路徑。x0dx0a如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/x0dx0aSystem.getProperty("user.dir");x0dx0athis.getClass().getClassLoader().getResource(".").getPath(); 得到的是 項目的絕對路徑。x0dx0a如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.warx0dx0ax0dx0a2:this.getClass().getResource("/").getPath(); x0dx0athis.getClass().getResource("").getPath(); 得到的是當前類 文件的URI目錄。x0dx0a如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/x0dx0athis.getClass().getResource(".").getPath(); X 不 能運行x0dx0ax0dx0a3:Thread.currentThread().getContextClassLoader().getResource("/").getPath()x0dx0aThread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的絕對URI路徑。x0dx0a如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/x0dx0aThread.currentThread().getContextClassLoader().getResource(".").getPath() 得到的是 項目的絕對路徑。x0dx0a如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.warx0dx0ax0dx0a在本地運行中x0dx0a1:this.getClass().getClassLoader().getResource("").getPath(); x0dx0athis.getClass().getClassLoader().getResource(".").getPath(); 得到的是 ClassPath的絕對URI路徑。x0dx0a如:/D:/myProjects/hp/WebRoot/WEB-INF/classesx0dx0athis.getClass().getClassLoader().getResource(".").getPath(); X 不 能運行x0dx0a2:this.getClass().getResource("").getPath(); x0dx0athis.getClass().getResource(".").getPath(); 得到的是當前類 文件的URI目錄。x0dx0a如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/x0dx0a/D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的絕對URI路徑。x0dx0a如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
❸ java 獲取src下的文件路徑怎麼寫
java工程還是web工程?
java的話/src/就可以了啊
web的話,可以使用request.getServletContext().getRealPath("當前就是src下,這里可以寫以後的路徑");
❹ java怎麼獲取src目錄下所有的包名,類名,方法名 以及通過一個類名獲得該類下的所有方法名
可以使用以下代碼來獲取src目錄下所有的包名,類名,方法名 以及通過一個類名獲得該類下的所有方法名。
import java.io.File;
import java.lang.reflect.Method;
public class LoopApp {
public static void main(String[] args) throws Exception {
String packageName = "";
File root = new File(System.getProperty("user.dir") + "\\src");
loop(root, packageName);
}
public static void loop(File folder, String packageName) throws Exception {
File[] files = folder.listFiles();
for (int fileIndex = 0; fileIndex < files.length; fileIndex++) {
File file = files[fileIndex];
if (file.isDirectory()) {
loop(file, packageName + file.getName() + ".");
} else {
listMethodNames(file.getName(), packageName);
}
}
}
public static void listMethodNames(String filename, String packageName) {
try {
String name = filename.substring(0, filename.length() - 5);
Object obj = Class.forName(packageName + name);
Method[] methods = obj.getClass().getDeclaredMethods();
System.out.println(filename);
for (int i = 0; i < methods.length; i++) {
System.out.println("\t" + methods[i].getName());
}
} catch (Exception e) {
System.out.println("exception = " + e.getLocalizedMessage());
}
}
}
❺ java讀取根目錄為什麼到了src下
src目錄只是java默認的源文件路徑,可以自行按照需求進行修改調整。編譯器可以自動進行編譯。