這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)java中怎么創(chuàng)建一個(gè)文件夾,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注于乳山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。乳山網(wǎng)站建設(shè)公司,為乳山等地區(qū)提供建站服務(wù)。全流程按需定制,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
Java傳統(tǒng)的IO API種使用java.io.File
類中的file.mkdir()
和file.mkdirs()
方法創(chuàng)建文件夾
file.mkdir()
創(chuàng)建文件夾成功返回true,失敗返回false。如果被創(chuàng)建文件夾的父文件夾不存在也返回false.沒有異常拋出。
file.mkdirs()
創(chuàng)建文件夾連同該文件夾的父文件夾,如果創(chuàng)建成功返回true,創(chuàng)建失敗返回false。創(chuàng)建失敗同樣沒有異常拋出。
[@Test](https://my.oschina.net/azibug) void testCreateDir1() { //“D:\data111”目錄現(xiàn)在不存在 String dirStr = "D:\\data111\\test"; File directory = new File(dirStr); //mkdir boolean hasSucceeded = directory.mkdir(); System.out.println("創(chuàng)建文件夾結(jié)果(不含父文件夾):" + hasSucceeded); //mkdirs hasSucceeded = directory.mkdirs(); System.out.println("創(chuàng)建文件夾結(jié)果(包含父文件夾):" + hasSucceeded); }
輸出結(jié)果如下:使用mkdir創(chuàng)建失敗,使用mkdirs創(chuàng)建成功。
創(chuàng)建文件夾結(jié)果(不含父文件夾):false 創(chuàng)建文件夾結(jié)果(包含父文件夾):true
大家可以看到,mkdir和mkdirs雖然可以創(chuàng)建文件,但是它們在異常處理的環(huán)節(jié)做的非常不友好。創(chuàng)建失敗之后統(tǒng)一返回false,創(chuàng)建失敗的原因沒有說明。是父文件夾不存在所以創(chuàng)建失???還是文件夾已經(jīng)存在所以創(chuàng)建失???還是因?yàn)榇疟PIO原因?qū)е聞?chuàng)建文件夾失???
為了解決傳統(tǒng)IO創(chuàng)建文件夾中異常失敗處理問題不明確的問題,在Java的NIO中進(jìn)行了改進(jìn)。
Files.createDirectory
創(chuàng)建文件夾如果被創(chuàng)建文件夾的父文件夾不存在,則拋出NoSuchFileException
.
如果被創(chuàng)建的文件夾已經(jīng)存在,則拋出FileAlreadyExistsException
.
如果因?yàn)榇疟PIO出現(xiàn)異常,則拋出IOException
.
Path path = Paths.get("D:\\data222\\test"); Path pathCreate = Files.createDirectory(path);
Files.createDirectories
創(chuàng)建文件夾及其父文件夾如果被創(chuàng)建文件夾的父文件夾不存在,就創(chuàng)建它
如果被創(chuàng)建的文件夾已經(jīng)存在,就是用已經(jīng)存在的文件夾,不會重復(fù)創(chuàng)建,沒有異常拋出
如果因?yàn)榇疟PIO出現(xiàn)異常,則拋出IOException
.
Path path = Paths.get("D:\\data222\\test"); Path pathCreate = Files.createDirectorys(path);
另外大家要注意:NIO的API創(chuàng)建的文件夾返回值是Path,這樣方便我們在創(chuàng)建完成文件夾之后繼續(xù)向文件夾里面寫入文件數(shù)據(jù)等操作。比傳統(tǒng)IO只返回一個(gè)boolean值要好得多。
上述就是小編為大家分享的java中怎么創(chuàng)建一個(gè)文件夾了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。