java创建文件和目录

来源:互联网 发布:mac win7激活密钥 编辑:程序博客网 时间:2024/05/19 10:15
[java] view plaincopy
  1. 创建文件和目录的关键技术点如下:  
[java] view plaincopy
  1. <pre name="code" class="java">    1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败  
  2.     2、File类的mkdir方法根据抽象路径创建目录  
  3.     3、File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录  
  4.     4、File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。  
  5.     5、除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败  
  6.      
  7. 实例演示</pre><br>  
  8. <pre></pre>  
  9. <pre name="code" class="java">package book.io;  
  10.   
  11. import java.io.File;  
  12. import java.io.IOException;  
  13.   
  14. public class CreateFileUtil {  
  15.      
  16.     public static boolean createFile(String destFileName) {  
  17.         File file = new File(destFileName);  
  18.         if(file.exists()) {  
  19.             System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");  
  20.             return false;  
  21.         }  
  22.         if (destFileName.endsWith(File.separator)) {  
  23.             System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");  
  24.             return false;  
  25.         }  
  26.         //判断目标文件所在的目录是否存在  
  27.         if(!file.getParentFile().exists()) {  
  28.             //如果目标文件所在的目录不存在,则创建父目录  
  29.             System.out.println("目标文件所在目录不存在,准备创建它!");  
  30.             if(!file.getParentFile().mkdirs()) {  
  31.                 System.out.println("创建目标文件所在目录失败!");  
  32.                 return false;  
  33.             }  
  34.         }  
  35.         //创建目标文件  
  36.         try {  
  37.             if (file.createNewFile()) {  
  38.                 System.out.println("创建单个文件" + destFileName + "成功!");  
  39.                 return true;  
  40.             } else {  
  41.                 System.out.println("创建单个文件" + destFileName + "失败!");  
  42.                 return false;  
  43.             }  
  44.         } catch (IOException e) {  
  45.             e.printStackTrace();  
  46.             System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());  
  47.             return false;  
  48.         }  
  49.     }  
  50.      
  51.      
  52.     public static boolean createDir(String destDirName) {  
  53.         File dir = new File(destDirName);  
  54.         if (dir.exists()) {  
  55.             System.out.println("创建目录" + destDirName + "失败,目标目录已经存在");  
  56.             return false;  
  57.         }  
  58.         if (!destDirName.endsWith(File.separator)) {  
  59.             destDirName = destDirName + File.separator;  
  60.         }  
  61.         //创建目录  
  62.         if (dir.mkdirs()) {  
  63.             System.out.println("创建目录" + destDirName + "成功!");  
  64.             return true;  
  65.         } else {  
  66.             System.out.println("创建目录" + destDirName + "失败!");  
  67.             return false;  
  68.         }  
  69.     }  
  70.      
  71.      
  72.     public static String createTempFile(String prefix, String suffix, String dirName) {  
  73.         File tempFile = null;  
  74.         if (dirName == null) {  
  75.             try{  
  76.                 //在默认文件夹下创建临时文件  
  77.                 tempFile = File.createTempFile(prefix, suffix);  
  78.                 //返回临时文件的路径  
  79.                 return tempFile.getCanonicalPath();  
  80.             } catch (IOException e) {  
  81.                 e.printStackTrace();  
  82.                 System.out.println("创建临时文件失败!" + e.getMessage());  
  83.                 return null;  
  84.             }  
  85.         } else {  
  86.             File dir = new File(dirName);  
  87.             //如果临时文件所在目录不存在,首先创建  
  88.             if (!dir.exists()) {  
  89.                 if (!CreateFileUtil.createDir(dirName)) {  
  90.                     System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");  
  91.                     return null;  
  92.                 }  
  93.             }  
  94.             try {  
  95.                 //在指定目录下创建临时文件  
  96.                 tempFile = File.createTempFile(prefix, suffix, dir);  
  97.                 return tempFile.getCanonicalPath();  
  98.             } catch (IOException e) {  
  99.                 e.printStackTrace();  
  100.                 System.out.println("创建临时文件失败!" + e.getMessage());  
  101.                 return null;  
  102.             }  
  103.         }  
  104.     }  
  105.      
  106.     public static void main(String[] args) {  
  107.         //创建目录  
  108.         String dirName = "D:/work/temp/temp0/temp1";  
  109.         CreateFileUtil.createDir(dirName);  
  110.         //创建文件  
  111.         String fileName = dirName + "/temp2/tempFile.txt";  
  112.         CreateFileUtil.createFile(fileName);  
  113.         //创建临时文件  
  114.         String prefix = "temp";  
  115.         String suffix = ".txt";  
  116.         for (int i = 0; i < 10; i++) {  
  117.             System.out.println("创建了临时文件:"  
  118.                     + CreateFileUtil.createTempFile(prefix, suffix, dirName));  
  119.         }  
  120.         //在默认目录下创建临时文件  
  121.         for (int i = 0; i < 10; i++) {  
  122.             System.out.println("在默认目录下创建了临时文件:"  
  123.                     + CreateFileUtil.createTempFile(prefix, suffix, null));  
  124.         }  
  125.     }  
  126.   
  127. }  
  128. 输出结果:  
  129.   
  130.   
  131. 创建目录D:/work/temp/temp0/temp1成功!  
  132. 目标文件所在目录不存在,准备创建它!  
  133. 创建单个文件D:/work/temp/temp0/temp1/temp2/tempFile.txt成功!  
  134. 创建了临时文件:D:work emp emp0 emp1 emp5171.txt  
  135. 创建了临时文件:D:work emp emp0 emp1 emp5172.txt  
  136. 创建了临时文件:D:work emp emp0 emp1 emp5173.txt  
  137. 创建了临时文件:D:work emp emp0 emp1 emp5174.txt  
  138. 创建了临时文件:D:work emp emp0 emp1 emp5175.txt  
  139. 创建了临时文件:D:work emp emp0 emp1 emp5176.txt  
  140. 创建了临时文件:D:work emp emp0 emp1 emp5177.txt  
  141. 创建了临时文件:D:work emp emp0 emp1 emp5178.txt  
  142. 创建了临时文件:D:work emp emp0 emp1 emp5179.txt  
  143. 创建了临时文件:D:work emp emp0 emp1 emp5180.txt  
  144. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5181.txt  
  145. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5182.txt  
  146. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5183.txt  
  147. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5184.txt  
  148. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5185.txt  
  149. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5186.txt  
  150. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5187.txt  
  151. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5188.txt  
  152. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5189.txt  
  153. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5190.txt  
  154.   
  155. </pre><br>  
  156. http://www.zhihu.com/collection/25873857
    http://www.zhihu.com/collection/25873973
    http://www.zhihu.com/collection/25874894
    http://www.zhihu.com/collection/25875057
    http://www.zhihu.com/collection/25875292
    http://www.zhihu.com/collection/25875441
    http://www.zhihu.com/collection/25875724
    http://www.zhihu.com/collection/25876004
    http://www.zhihu.com/collection/25876195
    http://www.zhihu.com/collection/25876399
    http://www.zhihu.com/collection/25876800
    http://www.zhihu.com/collection/25876958
    http://www.zhihu.com/collection/25877184
    http://www.zhihu.com/collection/25877589
    http://www.zhihu.com/collection/25877672
    http://www.zhihu.com/collection/25878094
    http://www.zhihu.com/collection/25878835
    http://www.zhihu.com/collection/25879155
    http://www.zhihu.com/collection/25879518
    http://www.zhihu.com/collection/25879828
    http://www.zhihu.com/collection/25882215
    http://www.zhihu.com/collection/25882427
    http://www.zhihu.com/collection/25882792
    http://www.zhihu.com/collection/25883083
    http://www.zhihu.com/collection/25883285
    http://www.zhihu.com/collection/25890851
    http://www.zhihu.com/collection/25890925
    http://www.zhihu.com/collection/25891014
    http://www.zhihu.com/collection/25891089
    http://www.zhihu.com/collection/25891157
    http://www.zhihu.com/collection/25893431
    http://www.zhihu.com/collection/25893548
    http://www.zhihu.com/collection/25893627
    http://www.zhihu.com/collection/25893736
    http://www.zhihu.com/collection/25893766
    http://www.zhihu.com/collection/25893803
    http://www.zhihu.com/collection/25893887
    http://www.zhihu.com/collection/25893927
    http://www.zhihu.com/collection/25893951
    http://www.zhihu.com/collection/25894031
    http://www.zhihu.com/collection/25894098
    http://www.zhihu.com/collection/25894130
    http://www.zhihu.com/collection/25894229
    http://www.zhihu.com/collection/25894335
    http://www.zhihu.com/collection/25894487
    http://www.zhihu.com/collection/25952664
    http://www.zhihu.com/collection/25952927
    http://www.zhihu.com/collection/25953157
    http://www.zhihu.com/collection/25953294
    http://www.zhihu.com/collection/25953594
    http://www.zhihu.com/collection/25953832
    http://www.zhihu.com/collection/25954116
    http://www.zhihu.com/collection/25954402
    http://www.zhihu.com/collection/25954354
    http://www.zhihu.com/collection/25954612
    http://www.zhihu.com/collection/25954672
    http://www.zhihu.com/collection/25954904
    http://www.zhihu.com/collection/25954729
    http://www.zhihu.com/collection/25954889
    http://www.zhihu.com/collection/25954959
    http://www.zhihu.com/collection/25955219
    http://www.zhihu.com/collection/25955469
    http://www.zhihu.com/collection/25955307
    http://www.zhihu.com/collection/25955528
    http://www.zhihu.com/collection/25955707
    http://www.zhihu.com/collection/25955781
    http://www.zhihu.com/collection/25955993
    http://www.zhihu.com/collection/25957047
    http://www.zhihu.com/collection/25957087
    http://www.zhihu.com/collection/25956572
    http://www.zhihu.com/collection/25956238
    http://www.zhihu.com/collection/25956794
    http://www.zhihu.com/collection/25957995
    http://www.zhihu.com/collection/25958231
    http://www.zhihu.com/collection/25958197
    http://www.zhihu.com/collection/25958484
    http://www.zhihu.com/collection/25958267
    http://www.zhihu.com/collection/25958534
    http://www.zhihu.com/collection/25958531
    http://www.zhihu.com/collection/25958784
    http://www.zhihu.com/collection/25959296
    http://www.zhihu.com/collection/25959529
    http://www.zhihu.com/collection/25959730
    http://www.zhihu.com/collection/25961124
    http://www.zhihu.com/collection/25961313
    http://www.zhihu.com/collection/25961372
    http://www.zhihu.com/collection/25961621
    http://www.zhihu.com/collection/25961817
    http://www.zhihu.com/collection/25961910
    http://www.zhihu.com/collection/25962050
    http://www.zhihu.com/collection/25962228
    http://www.zhihu.com/collection/25962740
    http://www.zhihu.com/collection/25962921
    http://www.zhihu.com/collection/25962905
    http://www.zhihu.com/collection/25962988
    http://500px.com/photo/45156486
    http://500px.com/photo/45156624
    http://500px.com/photo/45156692
    http://500px.com/photo/45156746
    http://500px.com/photo/45157808
    http://500px.com/photo/45157862
    http://500px.com/photo/45157892
    http://500px.com/photo/45158216
    http://500px.com/photo/45158224
    http://500px.com/photo/45158358
    http://500px.com/photo/45158390
    http://500px.com/photo/45158978
    http://500px.com/photo/45159382
    http://500px.com/photo/45159406
    http://500px.com/photo/45159538
    http://500px.com/photo/45040488
    http://500px.com/photo/45040620
    http://500px.com/photo/45134550
    http://500px.com/photo/45134644
    http://500px.com/photo/45134700
    http://500px.com/photo/45134856
    http://500px.com/photo/45134926
    http://500px.com/photo/45135300
    http://500px.com/photo/45135400
    http://500px.com/photo/45135450
    http://500px.com/photo/45135464
    http://500px.com/photo/45135500
    http://500px.com/photo/45135536
    http://500px.com/photo/45135550
    http://500px.com/photo/45135754
原创粉丝点击