java中實(shí)現(xiàn)創(chuàng)建目錄與創(chuàng)建文件的操作實(shí)例
一、創(chuàng)建目錄
mkdir()——僅創(chuàng)建一層目錄,返回true或false.
mkdirs()——創(chuàng)建一層或多層目錄,返回true或false.
也就是,在通常情況下,使用mkdirs()即可滿足創(chuàng)建目錄的需求。
如,
File file = new File("D:\\myLevel1\\myLevel2"); //以某路徑實(shí)例化一個(gè)File對(duì)象 if (!file.exists()){ //如果不存在 boolean dr = file.mkdirs(); //創(chuàng)建目錄 }
即在D盤根目錄下創(chuàng)建了myLevel1、myLevel2兩層目錄。
二、創(chuàng)建文件
createNewFile()——當(dāng)File對(duì)象實(shí)例化的路徑中,上面各層目錄均已存在,最后一層目錄不存在時(shí),以最后一層目錄名為名稱創(chuàng)建文件。返回true或false.
如,
File file = new File("D:\\myLevel1\\myLevel2\\abc.txt"); //實(shí)例化File對(duì)象 try { boolean fr = file.createNewFile(); //創(chuàng)建文件 }catch (Exception e){ e.printStackTrace(); }
即在D:\myLevel1\myLevel2下創(chuàng)建了一個(gè)abc.txt文件。
三、同時(shí)創(chuàng)建目錄和文件
getParent()——得到路徑的父級(jí)及以上的目錄,String類型。
getParentFile()——得到路徑的父級(jí)及以上的目錄實(shí)例化的File對(duì)象。
先使用getParentFile().mkdirs()創(chuàng)建目錄,再使用createNewFile()創(chuàng)建文件,如,
File file = new File("D:\\myLevel1\\myLevel2\\abc.txt"); //實(shí)例化File對(duì)象 boolean dr = file.getParentFile().mkdirs(); //創(chuàng)建目錄 try { boolean fr = file.createNewFile(); //創(chuàng)建文件 }catch (Exception e){ e.printStackTrace(); }
即在D盤下創(chuàng)建了myLevel1、myLevel2兩層目錄和abc.txt文件。
補(bǔ)充知識(shí):getParentFile()方法和getParent()的區(qū)別
getParentFile()方法返回的是File類型的值,而getParent()返回的是字符串類型的值,根據(jù)你想獲得的值來(lái)區(qū)別使用,而exists()方法和mkdirs()方法是getParentFile()返回的File類型里面的方法,exists()方法是查看有沒(méi)有此路徑或者文件,mkdirs()方法是若沒(méi)有此路徑用來(lái)創(chuàng)建的
//若是有重名文件就會(huì)加后綴 String newfilename=filename; int i=1; if(descFile.exists()){ newfilename=name+"("+i+")"+suffix; String parentPath=descFile.getParent(); descFile=new File(parentPath+File.separator+newfilename); i++; } //判斷目錄是否存在 if(!descFile.getParentFile().exists()){ //如果目標(biāo)文件所在目錄不存在,則創(chuàng)建父目錄 descFile.getParentFile().mkdirs(); }
mkdir與mkdirs的區(qū)別
項(xiàng)目中需要在代碼中讀取或創(chuàng)建文件保存路徑,用到了mkdir,查看還有個(gè)mkdirs方法,這里記錄一下兩者的區(qū)別。
1、關(guān)于兩者的說(shuō)明如下:
- boolean mkdir() : 創(chuàng)建此抽象路徑名指定的目錄。
- boolean mkdirs() : 創(chuàng)建此抽象路徑名指定的目錄,包括創(chuàng)建必需但不存在的父目錄。
2、結(jié)合自己的理解及具體實(shí)踐如下:
mkdir():只能創(chuàng)建一層目錄, 如:
File file = new File("e:/test"); file.mkdir();
這樣會(huì)在e:/路徑下創(chuàng)建test目錄.
mkdirs(): 創(chuàng)建多層目錄,如:
File file = new File("e:/test/0930"); file.mkdirs();
這樣才能在e:/test/路徑下創(chuàng)建0930目錄,mkdir這里就不生效了。
總結(jié)
到此這篇關(guān)于java中實(shí)現(xiàn)創(chuàng)建目錄與創(chuàng)建文件操作的文章就介紹到這了,更多相關(guān)java創(chuàng)建目錄與創(chuàng)建文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)易五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05Spring?Data?JPA框架快速入門之自定義Repository接口
Spring?Data?JPA是Spring基于JPA規(guī)范的基礎(chǔ)上封裝的?套?JPA?應(yīng)?框架,可使開發(fā)者?極簡(jiǎn)的代碼即可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和操作,本篇我們來(lái)了解Spring?Data?JPA框架的自定義Repository接口2022-04-04JavaFX Metro UI 和 開發(fā)庫(kù)使用簡(jiǎn)介
這篇文章主要介紹了JavaFX Metro UI 和 開發(fā)庫(kù)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08