java如何判斷文件和文件夾是否存在?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
目前創(chuàng)新互聯(lián)建站已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計、金溪網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。1. 首先明確一點(diǎn)的是:test.txt文件可以和test文件夾同時存在同一目錄下;test文件不能和test文件夾同時存在同一目錄下。
原因是:
(1)win的文件和文件夾都是以節(jié)點(diǎn)形式存放,這就意味著相同的文件和文件名不能處在同一目錄下,會命名沖突。
(2)文件后綴名也算是文件名的一部分,即test.txt文件和test文件不是相同文件名的文件。
2. 基于以上原因,如果我想在d:創(chuàng)建一個test文件夾,但是d:下面有一個test文件,那么由于命名沖突,是不可能創(chuàng)建成功的。
所以,在創(chuàng)建之前,要通過file.exists()判斷是否存在test命名的文件或者文件夾,如果返回true,是不能創(chuàng)建的;然后再通過file.isDirectory()來判斷這是不是一個文件夾。
實(shí)例:
import java.io.File; import java.io.IOException; public class Main { public static void main(String[] args) { File file = new File("d:\\test_file.txt"); Main.judeFileExists(file); File dir = new File("d:\\test_dir"); Main.judeDirExists(dir); } // 判斷文件是否存在 public static void judeFileExists(File file) { if (file.exists()) { System.out.println("file exists"); } else { System.out.println("file not exists, create it ..."); try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } // 判斷文件夾是否存在 public static void judeDirExists(File file) { if (file.exists()) { if (file.isDirectory()) { System.out.println("dir exists"); } else { System.out.println("the same name file exists, can not create dir"); } } else { System.out.println("dir not exists, create it ..."); file.mkdir(); } } }
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。