java创建文件和目录
生活随笔
收集整理的這篇文章主要介紹了
java创建文件和目录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[java]?view plaincopy 創建文件和目錄的關鍵技術點如下:?? [java]?view plaincopy <pre?name="code"?class="java">????1、File類的createNewFile根據抽象路徑創建一個新的空文件,當抽象路徑制定的文件存在時,創建失敗?? ????2、File類的mkdir方法根據抽象路徑創建目錄?? ????3、File類的mkdirs方法根據抽象路徑創建目錄,包括創建必需但不存在的父目錄?? ????4、File類的createTempFile方法創建臨時文件,可以制定臨時文件的文件名前綴、后綴及文件所在的目錄,如果不指定目錄,則存放在系統的臨時文件夾下。?? ????5、除mkdirs方法外,以上方法在創建文件和目錄時,必須保證目標文件不存在,而且父目錄存在,否則會創建失敗?? ????? 實例演示?? package?book.io;?? ?? import?java.io.File;?? import?java.io.IOException;?? ?? public?class?CreateFileUtil?{?? ????? ????public?static?boolean?createFile(String?destFileName)?{?? ????????File?file?=?new?File(destFileName);?? ????????if(file.exists())?{?? ????????????System.out.println("創建單個文件"?+?destFileName?+?"失敗,目標文件已存在!");?? ????????????return?false;?? ????????}?? ????????if?(destFileName.endsWith(File.separator))?{?? ????????????System.out.println("創建單個文件"?+?destFileName?+?"失敗,目標文件不能為目錄!");?? ????????????return?false;?? ????????}?? ????????//判斷目標文件所在的目錄是否存在?? ????????if(!file.getParentFile().exists())?{?? ????????????//如果目標文件所在的目錄不存在,則創建父目錄?? ????????????System.out.println("目標文件所在目錄不存在,準備創建它!");?? ????????????if(!file.getParentFile().mkdirs())?{?? ????????????????System.out.println("創建目標文件所在目錄失敗!");?? ????????????????return?false;?? ????????????}?? ????????}?? ????????//創建目標文件?? ????????try?{?? ????????????if?(file.createNewFile())?{?? ????????????????System.out.println("創建單個文件"?+?destFileName?+?"成功!");?? ????????????????return?true;?? ????????????}?else?{?? ????????????????System.out.println("創建單個文件"?+?destFileName?+?"失敗!");?? ????????????????return?false;?? ????????????}?? ????????}?catch?(IOException?e)?{?? ????????????e.printStackTrace();?? ????????????System.out.println("創建單個文件"?+?destFileName?+?"失敗!"?+?e.getMessage());?? ????????????return?false;?? ????????}?? ????}?? ????? ????? ????public?static?boolean?createDir(String?destDirName)?{?? ????????File?dir?=?new?File(destDirName);?? ????????if?(dir.exists())?{?? ????????????System.out.println("創建目錄"?+?destDirName?+?"失敗,目標目錄已經存在");?? ????????????return?false;?? ????????}?? ????????if?(!destDirName.endsWith(File.separator))?{?? ????????????destDirName?=?destDirName?+?File.separator;?? ????????}?? ????????//創建目錄?? ????????if?(dir.mkdirs())?{?? ????????????System.out.println("創建目錄"?+?destDirName?+?"成功!");?? ????????????return?true;?? ????????}?else?{?? ????????????System.out.println("創建目錄"?+?destDirName?+?"失敗!");?? ????????????return?false;?? ????????}?? ????}?? ????? ????? ????public?static?String?createTempFile(String?prefix,?String?suffix,?String?dirName)?{?? ????????File?tempFile?=?null;?? ????????if?(dirName?==?null)?{?? ????????????try{?? ????????????????//在默認文件夾下創建臨時文件?? ????????????????tempFile?=?File.createTempFile(prefix,?suffix);?? ????????????????//返回臨時文件的路徑?? ????????????????return?tempFile.getCanonicalPath();?? ????????????}?catch?(IOException?e)?{?? ????????????????e.printStackTrace();?? ????????????????System.out.println("創建臨時文件失敗!"?+?e.getMessage());?? ????????????????return?null;?? ????????????}?? ????????}?else?{?? ????????????File?dir?=?new?File(dirName);?? ????????????//如果臨時文件所在目錄不存在,首先創建?? ????????????if?(!dir.exists())?{?? ????????????????if?(!CreateFileUtil.createDir(dirName))?{?? ????????????????????System.out.println("創建臨時文件失敗,不能創建臨時文件所在的目錄!");?? ????????????????????return?null;?? ????????????????}?? ????????????}?? ????????????try?{?? ????????????????//在指定目錄下創建臨時文件?? ????????????????tempFile?=?File.createTempFile(prefix,?suffix,?dir);?? ????????????????return?tempFile.getCanonicalPath();?? ????????????}?catch?(IOException?e)?{?? ????????????????e.printStackTrace();?? ????????????????System.out.println("創建臨時文件失敗!"?+?e.getMessage());?? ????????????????return?null;?? ????????????}?? ????????}?? ????}?? ????? ????public?static?void?main(String[]?args)?{?? ????????//創建目錄?? ????????String?dirName?=?"D:/work/temp/temp0/temp1";?? ????????CreateFileUtil.createDir(dirName);?? ????????//創建文件?? ????????String?fileName?=?dirName?+?"/temp2/tempFile.txt";?? ????????CreateFileUtil.createFile(fileName);?? ????????//創建臨時文件?? ????????String?prefix?=?"temp";?? ????????String?suffix?=?".txt";?? ????????for?(int?i?=?0;?i?<?10;?i++)?{?? ????????????System.out.println("創建了臨時文件:"?? ????????????????????+?CreateFileUtil.createTempFile(prefix,?suffix,?dirName));?? ????????}?? ????????//在默認目錄下創建臨時文件?? ????????for?(int?i?=?0;?i?<?10;?i++)?{?? ????????????System.out.println("在默認目錄下創建了臨時文件:"?? ????????????????????+?CreateFileUtil.createTempFile(prefix,?suffix,?null));?? ????????}?? ????}?? ?? }?? 輸出結果:?? ?? ?? 創建目錄D:/work/temp/temp0/temp1成功!?? 目標文件所在目錄不存在,準備創建它!?? 創建單個文件D:/work/temp/temp0/temp1/temp2/tempFile.txt成功!?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5171.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5172.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5173.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5174.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5175.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5176.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5177.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5178.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5179.txt?? 創建了臨時文件:D:work?emp?emp0?emp1?emp5180.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5181.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5182.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5183.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5184.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5185.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5186.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5187.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5188.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5189.txt?? 在默認目錄下創建了臨時文件:C:Documents?and?SettingsAdministratorLocal?SettingsTemp?emp5190.txt
?
[java]?view plaincopy轉載于:https://www.cnblogs.com/bojuetech/p/5977801.html
總結
以上是生活随笔為你收集整理的java创建文件和目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IO的生命周期
- 下一篇: 【转】ora-00031:session