本文是筆者在追查zip包壓縮和解壓時(shí),所遇到的方法,特此在網(wǎng)上查閱了其他作者的解釋自己做個(gè)存留getParentFile()的作用是獲得父目錄 問題就是.mkdirs(); 這個(gè)方法只能生成一層一層的文件夾,不能生成文件,而你的file對(duì)象路徑是直接到文件那一層的, 不用getParentFile()獲得父目錄的話,就會(huì)想你說的那樣生成兩個(gè)文件夾而不是你想要的文件,所以要先調(diào)用getParentFile()獲得父目錄, 用.mkdirs()生成父目錄文件夾,最后把你想要的文件生成到這個(gè)文件夾下面,就是想要的結(jié)果getAbsolutePath():返回抽象路徑名的絕對(duì)路徑名字符串。public static void test1(){ File file1 = new File(".//test1.txt"); File file2 = new File("D://workspace//test//test1.txt"); System.out.PRintln("-----默認(rèn)相對(duì)路徑:取得路徑不同------"); System.out.println(file1.getPath()); System.out.println(file1.getAbsolutePath()); System.out.println("-----默認(rèn)絕對(duì)路徑:取得路徑相同------"); System.out.println(file2.getPath()); System.out.println(file2.getAbsolutePath()); }-----默認(rèn)相對(duì)路徑:取得路徑不同------./test1.txtD:/workspace/test/./test1.txt-----默認(rèn)絕對(duì)路徑:取得路徑相同------D:/workspace/test/test1.txtD:/workspace/test/test1.txt----------------------------------------------------public static void test2() throws Exception{ File file = new File("..//src//test1.txt"); System.out.println(file.getAbsolutePath()); System.out.println(file.getCanonicalPath()); }D:/workspace/test/../src/test1.txtD:/workspace/src/test1.txt--------------------------------------------public static void test3() throws Exception{ File file = new File("D://Text.txt"); System.out.println(file.getCanonicalPath()); }(1),確定D盤下沒有Text.txt這個(gè)文件,直接執(zhí)行這段代碼,得到的結(jié)果是:D:/Text.txt注意這里試大寫的Text.txt(2)在D盤下建立一個(gè)文件,名叫text.txt,再次執(zhí)行代碼,得到結(jié)果D:/text.txt同樣的代碼得到不同的結(jié)果。如有其它好的方法和見解請(qǐng)指導(dǎo),我會(huì)認(rèn)真學(xué)習(xí)的
新聞熱點(diǎn)
疑難解答
圖片精選