一、通過File類獲取文件路徑
Java中可以使用File類來操作文件,通過該類的方法可以獲取文件的路徑。File類的對象可以表示一個目錄或文件的路徑名,可以使用它的getPath()方法獲取它所表示的目錄或文件的路徑。
public static void main(String[] args){
File file = new File("test.txt");
String filePath = file.getPath();
System.out.println(filePath);
}
上述代碼中,首先創建了一個File類的對象file,該對象參數為文件名test.txt,接著通過調用getPath()方法獲取文件路徑,並把該路徑列印出來。
二、通過Class類獲取文件路徑
在Java中,可以通過調用當前類的ClassLoader對象的getResource()方法,來獲取文件的URL。該方法返回當前路徑資源的URL,可以進而獲取該資源的路徑。
public static void main(String[] args){
String filePath = FileDemo.class.getClassLoader().getResource("test.txt").getPath();
System.out.println(filePath);
}
上述代碼中,首先通過.class文件獲取該類的ClassLoader對象,再通過調用getResource()方法獲取文件路徑,最後把該路徑列印出來。需要注意的是,這裡的test.txt需與當前類在同一路徑下,否則會獲取失敗。
三、通過ClassLoader類獲取文件路徑
相對於上述方法,可以直接通過ClassLoader來獲取文件路徑,ClassLoader類中的getResource()方法與Class類中的getResource()方法類似,用於獲取當前路徑資源的URL,可以進而獲取該資源的路徑。
public static void main(String[] args){
String filePath = ClassLoader.getSystemResource("test.txt").getPath();
System.out.println(filePath);
}
上述代碼中,通過調用ClassLoader類的getSystemResource()方法獲取文件路徑,最後把該路徑列印出來。
四、通過System.getProperty()方法獲取文件路徑
System類中的getProperty()方法可獲取Java程序的一些系統參數,其中包括Java運行時的環境屬性以及Java虛擬機上運行的操作系統的參數。我們可以通過獲取java.class.path參數來獲取class文件的路徑,再加上文件名即可得到文件路徑。
public static void main(String[] args){
String classPath = System.getProperty("java.class.path");
String filePath = classPath+"/test.txt";
System.out.println(filePath);
}
上述代碼中,首先獲取Java運行時的類路徑,然後再通過添加文件名獲取文件路徑。輸出結果為包含test.txt文件的class文件所在的路徑。
五、通過getResourceAsStream()方法獲取文件路徑
getResourceAsStream()方法用於讀取資源文件,不論該資源文件位置在哪裡,都可以通過該方法獲取到該文件的輸入流。
public static void main(String[] args){
InputStream in = FileDemo.class.getResourceAsStream("/test.txt");
System.out.println(in);
}
通過調用getResourceAsStream()方法獲取指定路徑(可以直接使用文件名,也可以使用相對路徑)下的文件輸入流,並列印該文件輸入流。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293199.html