摘要:如果使用類,則代表該類所在的包為相對路徑的起點。雖然并沒有針對其性能作出確切的比較,不過就現有的網絡統計來說,類在使用中大都會比類快并且在最新的中,也是用代替了的操作,相關的文章請參考。綜上,推薦使用類替代類。
前言
最近做項目的時候,用java獲取文件。
雖然用框架很容易,但是其內部的原理讓我很疑惑。在自己寫相似的代碼的時候,往往會出現各種各樣的錯誤。所以這里,對相關的類以及方法進行一個整合。
比如 file 類,path 類。 絕對路徑與相對路徑。 getResource 方法 , getRealPath方法等。
在使用 File 類的時候,發現絕對路徑和相對路徑的使用有很大的區別。
大家都知道:File類是用來構造文件或文件夾的類,在其構造函數中要求傳入一個String類型的參數,用于指示文件所在的路徑
絕對路徑名是完整的路徑名,不需要任何其他信息就可以定位自身表示的文件。
相對路徑名必須使用來自其他路徑名的信息進行解釋
因為我使用的是 idea ,所以下面,我就用idea 給大家演示一下,他們的區別。
廢話不多說,直接上代碼
public class testFile { public static void main(String[] args) throws IOException { // 絕對路徑 File fi1 = new File("D://sy.ini"); // 相對路徑 File fi2 = new File("sy.ini"); String test = "000"; try { // 將 test 分別寫入 fi1 fi2 FileOutputStream fo1 = new FileOutputStream(fi1); FileOutputStream fo2 = new FileOutputStream(fi2); fo1.write(test.getBytes()); fo2.write(test.getBytes()); } catch (FileNotFoundException e) { e.printStackTrace(); } // 驗證 getPath 與 getAbsolubtePath 的區別。 System.out.println(fi1.getPath()); System.out.println(fi1.getAbsolutePath()); System.out.println(fi2.getPath()); System.out.println(fi2.getAbsolutePath()); } }
輸出的結果如下
D:sy.ini D:sy.ini sy.ini D:Programme