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
          文章出處:http://www.diybl.com/course/3_program/java/javaxl/20071129/89522.html

          posted on 2012-09-13 14:18 youngturk 閱讀(8828) 評論(0)  編輯  收藏 所屬分類: Java基礎

          <2012年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          公告

          this year :
          1 jQuery
          2 freemarker
          3 框架結構
          4 口語英語

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          EJB學習

          Flex學習

          learn English

          oracle

          spring MVC web service

          SQL

          Struts

          生活保健

          解析文件

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 灵山县| 大丰市| 增城市| 锡林浩特市| 石柱| 旌德县| 六盘水市| 溧水县| 麦盖提县| 浦北县| 湟源县| 通许县| 溧阳市| 呈贡县| 澜沧| 曲沃县| 宣汉县| 遵义县| 无锡市| 进贤县| 西乡县| 德惠市| 太湖县| 苍山县| 郯城县| 石景山区| 睢宁县| 巴马| 隆回县| 苍山县| 通州区| 定安县| 邵阳市| 怀仁县| 嘉义县| 金堂县| 柘荣县| 溧水县| 于田县| 开原市| 左贡县|