zoukankan      html  css  js  c++  java
  • java创建文件和目录

    1. 创建文件和目录的关键技术点如下:  
    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. 实例演示  
      1. package book.io;  
      2.   
      3. import java.io.File;  
      4. import java.io.IOException;  
      5.   
      6. public class CreateFileUtil {  
      7.      
      8.     public static boolean createFile(String destFileName) {  
      9.         File file = new File(destFileName);  
      10.         if(file.exists()) {  
      11.             System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");  
      12.             return false;  
      13.         }  
      14.         if (destFileName.endsWith(File.separator)) {  
      15.             System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");  
      16.             return false;  
      17.         }  
      18.         //判断目标文件所在的目录是否存在  
      19.         if(!file.getParentFile().exists()) {  
      20.             //如果目标文件所在的目录不存在,则创建父目录  
      21.             System.out.println("目标文件所在目录不存在,准备创建它!");  
      22.             if(!file.getParentFile().mkdirs()) {  
      23.                 System.out.println("创建目标文件所在目录失败!");  
      24.                 return false;  
      25.             }  
      26.         }  
      27.         //创建目标文件  
      28.         try {  
      29.             if (file.createNewFile()) {  
      30.                 System.out.println("创建单个文件" + destFileName + "成功!");  
      31.                 return true;  
      32.             } else {  
      33.                 System.out.println("创建单个文件" + destFileName + "失败!");  
      34.                 return false;  
      35.             }  
      36.         } catch (IOException e) {  
      37.             e.printStackTrace();  
      38.             System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());  
      39.             return false;  
      40.         }  
      41.     }  
      42.      
      43.      
      44.     public static boolean createDir(String destDirName) {  
      45.         File dir = new File(destDirName);  
      46.         if (dir.exists()) {  
      47.             System.out.println("创建目录" + destDirName + "失败,目标目录已经存在");  
      48.             return false;  
      49.         }  
      50.         if (!destDirName.endsWith(File.separator)) {  
      51.             destDirName = destDirName + File.separator;  
      52.         }  
      53.         //创建目录  
      54.         if (dir.mkdirs()) {  
      55.             System.out.println("创建目录" + destDirName + "成功!");  
      56.             return true;  
      57.         } else {  
      58.             System.out.println("创建目录" + destDirName + "失败!");  
      59.             return false;  
      60.         }  
      61.     }  
      62.      
      63.      
      64.     public static String createTempFile(String prefix, String suffix, String dirName) {  
      65.         File tempFile = null;  
      66.         if (dirName == null) {  
      67.             try{  
      68.                 //在默认文件夹下创建临时文件  
      69.                 tempFile = File.createTempFile(prefix, suffix);  
      70.                 //返回临时文件的路径  
      71.                 return tempFile.getCanonicalPath();  
      72.             } catch (IOException e) {  
      73.                 e.printStackTrace();  
      74.                 System.out.println("创建临时文件失败!" + e.getMessage());  
      75.                 return null;  
      76.             }  
      77.         } else {  
      78.             File dir = new File(dirName);  
      79.             //如果临时文件所在目录不存在,首先创建  
      80.             if (!dir.exists()) {  
      81.                 if (!CreateFileUtil.createDir(dirName)) {  
      82.                     System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");  
      83.                     return null;  
      84.                 }  
      85.             }  
      86.             try {  
      87.                 //在指定目录下创建临时文件  
      88.                 tempFile = File.createTempFile(prefix, suffix, dir);  
      89.                 return tempFile.getCanonicalPath();  
      90.             } catch (IOException e) {  
      91.                 e.printStackTrace();  
      92.                 System.out.println("创建临时文件失败!" + e.getMessage());  
      93.                 return null;  
      94.             }  
      95.         }  
      96.     }  
      97.      
      98.     public static void main(String[] args) {  
      99.         //创建目录  
      100.         String dirName = "D:/work/temp/temp0/temp1";  
      101.         CreateFileUtil.createDir(dirName);  
      102.         //创建文件  
      103.         String fileName = dirName + "/temp2/tempFile.txt";  
      104.         CreateFileUtil.createFile(fileName);  
      105.         //创建临时文件  
      106.         String prefix = "temp";  
      107.         String suffix = ".txt";  
      108.         for (int i = 0; i < 10; i++) {  
      109.             System.out.println("创建了临时文件:"  
      110.                     + CreateFileUtil.createTempFile(prefix, suffix, dirName));  
      111.         }  
      112.         //在默认目录下创建临时文件  
      113.         for (int i = 0; i < 10; i++) {  
      114.             System.out.println("在默认目录下创建了临时文件:"  
      115.                     + CreateFileUtil.createTempFile(prefix, suffix, null));  
      116.         }  
      117.     }  
      118.   
      119. }  
      120. 输出结果:  
      121.   
      122.   
      123. 创建目录D:/work/temp/temp0/temp1成功!  
      124. 目标文件所在目录不存在,准备创建它!  
      125. 创建单个文件D:/work/temp/temp0/temp1/temp2/tempFile.txt成功!  
      126. 创建了临时文件:D:work emp emp0 emp1 emp5171.txt  
      127. 创建了临时文件:D:work emp emp0 emp1 emp5172.txt  
      128. 创建了临时文件:D:work emp emp0 emp1 emp5173.txt  
      129. 创建了临时文件:D:work emp emp0 emp1 emp5174.txt  
      130. 创建了临时文件:D:work emp emp0 emp1 emp5175.txt  
      131. 创建了临时文件:D:work emp emp0 emp1 emp5176.txt  
      132. 创建了临时文件:D:work emp emp0 emp1 emp5177.txt  
      133. 创建了临时文件:D:work emp emp0 emp1 emp5178.txt  
      134. 创建了临时文件:D:work emp emp0 emp1 emp5179.txt  
      135. 创建了临时文件:D:work emp emp0 emp1 emp5180.txt  
      136. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5181.txt  
      137. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5182.txt  
      138. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5183.txt  
      139. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5184.txt  
      140. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5185.txt  
      141. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5186.txt  
      142. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5187.txt  
      143. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5188.txt  
      144. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5189.txt  
      145. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5190.txt 
  • 相关阅读:
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 455 分发饼干
    Java实现 LeetCode 454 四数相加 II
    Java实现 LeetCode 454 四数相加 II
    Java实现 LeetCode 454 四数相加 II
    FFmpeg解码H264及swscale缩放详解
    linux中cat more less head tail 命令区别
    C语言字符串操作总结大全(超详细)
    如何使用eclipse进行嵌入式Linux的开发
  • 原文地址:https://www.cnblogs.com/zheh/p/3890229.html
Copyright © 2011-2022 走看看