<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    創建文件和目錄

    Posted on 2009-05-24 20:41 啥都寫點 閱讀(502) 評論(0)  編輯  收藏 所屬分類: J2SE
    關鍵技術:
    • File類的createNewFile根據抽象路徑創建一個新的空文件,當抽象路徑指定的文件存在時,創建失敗。
    • File類的mkdir方法根據抽象路徑創建目錄。
    • File類的mkdirs方法根據抽象路徑創建目錄,包括創建必須但不存在的父目錄。
    • File類的createTempFile方法創建臨時文件,可以指定臨時文件的文件名前綴、后綴、以及文件所在的目錄,如果不指定目錄,則存放在系統的臨時文件夾下。
    • 除了mkdirs方法外,以上方法在創建文件和目錄時,必須保證目標文件不存在,而且父目錄存在,否則會創建失敗。

    package book.io;

    import java.io.File;
    import java.io.IOException;

    /**
     * 創建新文件和目錄
     
    */
    public class CreateFileUtil {

        
    /**
         * 創建單個文件
         * 
    @param destFileName    目標文件名
         * 
    @return 創建成功,返回true,否則返回false
         
    */
        
    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;
            }
        }

        
    /**
         * 創建目錄
         * 
    @param destDirName   目標目錄名
         * 
    @return 目錄創建成功放回true,否則返回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;
            }
        }

        
    /**
         * 創建臨時文件
         * 
    @param prefix    臨時文件名的前綴
         * 
    @param suffix    臨時文件名的后綴
         * 
    @param dirName   臨時文件所在的目錄,如果輸入null,則在用戶的文檔目錄下創建臨時文件
         * 
    @return 臨時文件創建成功返回true,否則返回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 = "C:/temp/temp0/temp1";
            CreateFileUtil.createDir(dirName);
            
    // 創建文件
            String fileName = dirName + "/temp2/tempFile.txt";
            CreateFileUtil.createFile(fileName);
            
    // 創建臨時文件
            String prefix = "temp";
            String surfix 
    = ".txt";
            
    for (int i = 0; i < 10; i++) {
                System.out.println(
    "創建了臨時文件: "
                        
    + CreateFileUtil.createTempFile(prefix, surfix, dirName));
            }
        }
    }
    運行結果:

    創建目錄C:/temp/temp0/temp1\成功!
    目標文件所在目錄不存在,準備創建它!
    創建單個文件C:/temp/temp0/temp1/temp2/tempFile.txt成功!
    創建了臨時文件: C:\temp\temp0\temp1\temp54065.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54066.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54067.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54068.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54069.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54070.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54071.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54072.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54073.txt
    創建了臨時文件: C:\temp\temp0\temp1\temp54074.txt




                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 国产亚洲精品va在线| 亚洲国产成人在线视频| 99在线观看精品免费99| 亚洲不卡影院午夜在线观看| 高清在线亚洲精品国产二区| 国内精品一级毛片免费看| 亚洲AV成人影视在线观看 | 国产又大又粗又长免费视频| 蜜芽亚洲av无码一区二区三区| 在线观看亚洲成人| 欧美好看的免费电影在线观看| 国产成人精品免费大全| 久久精品国产亚洲av麻豆图片| 亚洲日韩国产一区二区三区| 久草免费在线观看视频| GOGOGO高清免费看韩国| 中文字幕亚洲精品无码| 亚洲线精品一区二区三区影音先锋 | 国产一区二区三区在线免费| 男人j进入女人j内部免费网站| 亚洲第一综合天堂另类专 | 亚洲国产成人精品无码区在线观看 | 免费精品一区二区三区第35| 亚洲人成无码网站在线观看| 亚洲福利视频一区| 亚洲成AV人网址| 青娱乐免费视频在线观看| a级毛片免费全部播放无码| 亚洲精品欧美综合四区| 91亚洲导航深夜福利| 亚洲一区二区三区偷拍女厕| 国产精品国产免费无码专区不卡| 亚洲三级在线免费观看| 免费国产午夜高清在线视频| 一级毛片免费播放视频| 国产在亚洲线视频观看| 亚洲AV无码国产精品色| 91亚洲精品第一综合不卡播放| 亚洲国产精品一区二区成人片国内 | 四虎免费久久影院| 日韩高清免费在线观看|