java中實現(xiàn)創(chuàng)建目錄與創(chuàng)建文件的操作實例
一、創(chuàng)建目錄
mkdir()——僅創(chuàng)建一層目錄,返回true或false.
mkdirs()——創(chuàng)建一層或多層目錄,返回true或false.
也就是,在通常情況下,使用mkdirs()即可滿足創(chuàng)建目錄的需求。
如,
File file = new File("D:\\myLevel1\\myLevel2"); //以某路徑實例化一個File對象 if (!file.exists()){ //如果不存在 boolean dr = file.mkdirs(); //創(chuàng)建目錄 }
即在D盤根目錄下創(chuàng)建了myLevel1、myLevel2兩層目錄。
二、創(chuàng)建文件
createNewFile()——當File對象實例化的路徑中,上面各層目錄均已存在,最后一層目錄不存在時,以最后一層目錄名為名稱創(chuàng)建文件。返回true或false.
如,
File file = new File("D:\\myLevel1\\myLevel2\\abc.txt"); //實例化File對象 try { boolean fr = file.createNewFile(); //創(chuàng)建文件 }catch (Exception e){ e.printStackTrace(); }
即在D:\myLevel1\myLevel2下創(chuàng)建了一個abc.txt文件。
三、同時創(chuàng)建目錄和文件
getParent()——得到路徑的父級及以上的目錄,String類型。
getParentFile()——得到路徑的父級及以上的目錄實例化的File對象。
先使用getParentFile().mkdirs()創(chuàng)建目錄,再使用createNewFile()創(chuàng)建文件,如,
File file = new File("D:\\myLevel1\\myLevel2\\abc.txt"); //實例化File對象 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文件。
補充知識:getParentFile()方法和getParent()的區(qū)別
getParentFile()方法返回的是File類型的值,而getParent()返回的是字符串類型的值,根據(jù)你想獲得的值來區(qū)別使用,而exists()方法和mkdirs()方法是getParentFile()返回的File類型里面的方法,exists()方法是查看有沒有此路徑或者文件,mkdirs()方法是若沒有此路徑用來創(chuàng)建的
//若是有重名文件就會加后綴 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()){ //如果目標文件所在目錄不存在,則創(chuàng)建父目錄 descFile.getParentFile().mkdirs(); }
mkdir與mkdirs的區(qū)別
項目中需要在代碼中讀取或創(chuàng)建文件保存路徑,用到了mkdir,查看還有個mkdirs方法,這里記錄一下兩者的區(qū)別。
1、關(guān)于兩者的說明如下:
- boolean mkdir() : 創(chuàng)建此抽象路徑名指定的目錄。
- boolean mkdirs() : 創(chuàng)建此抽象路徑名指定的目錄,包括創(chuàng)建必需但不存在的父目錄。
2、結(jié)合自己的理解及具體實踐如下:
mkdir():只能創(chuàng)建一層目錄, 如:
File file = new File("e:/test"); file.mkdir();
這樣會在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中實現(xiàn)創(chuàng)建目錄與創(chuàng)建文件操作的文章就介紹到這了,更多相關(guān)java創(chuàng)建目錄與創(chuàng)建文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring?Data?JPA框架快速入門之自定義Repository接口
Spring?Data?JPA是Spring基于JPA規(guī)范的基礎(chǔ)上封裝的?套?JPA?應(yīng)?框架,可使開發(fā)者?極簡的代碼即可實現(xiàn)對數(shù)據(jù)庫的訪問和操作,本篇我們來了解Spring?Data?JPA框架的自定義Repository接口2022-04-04