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

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

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

    我的家園

    我的家園
    package com.file;

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

    //創建新文件和目錄
    public class CCRDFile {
        // 驗證字符串是否為正確路徑名的正則表達式
        private static String matches = "[A-Za-z]:\\\\[^:?\"><*]*";
        // 通過 sPath.matches(matches) 方法的返回值判斷是否正確
        
    // sPath 為路徑字符串
        boolean flag = false;
        File file;

        public boolean DeleteFolder(String deletePath) {// 根據路徑刪除指定的目錄或文件,無論存在與否
            flag = false;
            if (deletePath.matches(matches)) {
                file = new File(deletePath);
                if (!file.exists()) {// 判斷目錄或文件是否存在
                    return flag; // 不存在返回 false
                } else {

                    if (file.isFile()) {// 判斷是否為文件
                        return deleteFile(deletePath);// 為文件時調用刪除文件方法
                    } else {
                        return deleteDirectory(deletePath);// 為目錄時調用刪除目錄方法
                    }
                }
            } else {
                System.out.println("要傳入正確路徑!");
                return false;
            }
        }

        public boolean deleteFile(String filePath) {// 刪除單個文件
            flag = false;
            file = new File(filePath);
            if (file.isFile() && file.exists()) {// 路徑為文件且不為空則進行刪除
                file.delete();// 文件刪除
                flag = true;
            }
            return flag;
        }

        public boolean deleteDirectory(String dirPath) {// 刪除目錄(文件夾)以及目錄下的文件
            
    // 如果sPath不以文件分隔符結尾,自動添加文件分隔符
            if (!dirPath.endsWith(File.separator)) {
                dirPath = dirPath + File.separator;
            }
            File dirFile = new File(dirPath);
            // 如果dir對應的文件不存在,或者不是一個目錄,則退出
            if (!dirFile.exists() || !dirFile.isDirectory()) {
                return false;
            }
            flag = true;
            File[] files = dirFile.listFiles();// 獲得傳入路徑下的所有文件
            for (int i = 0; i < files.length; i++) {// 循環遍歷刪除文件夾下的所有文件(包括子目錄)
                if (files[i].isFile()) {// 刪除子文件
                    flag = deleteFile(files[i].getAbsolutePath());
                    System.out.println(files[i].getAbsolutePath() + " 刪除成功");
                    if (!flag)
                        break;// 如果刪除失敗,則跳出
                } else {// 運用遞歸,刪除子目錄
                    flag = deleteDirectory(files[i].getAbsolutePath());
                    if (!flag)
                        break;// 如果刪除失敗,則跳出
                }
            }
            if (!flag)
                return false;
            if (dirFile.delete()) {// 刪除當前目錄
                return true;
            } else {
                return false;
            }
        }

        // 創建單個文件
        public static boolean createFile(String filePath) {
            File file = new File(filePath);
            if (file.exists()) {// 判斷文件是否存在
                System.out.println("目標文件已存在" + filePath);
                return false;
            }
            if (filePath.endsWith(File.separator)) {// 判斷文件是否為目錄
                System.out.println("目標文件不能為目錄!");
                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("創建文件成功:" + filePath);
                    return true;
                } else {
                    System.out.println("創建文件失敗!");
                    return false;
                }
            } catch (IOException e) {// 捕獲異常
                e.printStackTrace();
                System.out.println("創建文件失敗!" + e.getMessage());
                return false;
            }
        }

        // 創建目錄
        public static boolean createDir(String destDirName) {
            File dir = new File(destDirName);
            if (dir.exists()) {// 判斷目錄是否存在
                System.out.println("創建目錄失敗,目標目錄已存在!");
                return false;
            }
            if (!destDirName.endsWith(File.separator)) {// 結尾是否以"/"結束
                destDirName = destDirName + File.separator;
            }
            if (dir.mkdirs()) {// 創建目標目錄
                System.out.println("創建目錄成功!" + destDirName);
                return true;
            } else {
                System.out.println("創建目錄失敗!");
                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 (CCRDFile.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 = "E:/createFile/";// 創建目錄
            CCRDFile.createDir(dirName);// 調用方法創建目錄
            String fileName = dirName + "/file1.txt";// 創建文件
            CCRDFile.createFile(fileName);// 調用方法創建文件
            String prefix = "temp";// 創建臨時文件
            String surfix = ".txt";// 后綴
            for (int i = 0; i < 10; i++) {// 循環創建多個文件
                System.out.println("創建臨時文件: "// 調用方法創建臨時文件
                        + CCRDFile.createTempFile(prefix, surfix,
                                dirName));
            }
        }
    }

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲热线99精品视频| 亚洲日韩一区精品射精| 国产免费的野战视频| 亚洲高清一区二区三区电影| 亚洲国产V高清在线观看| 免费观看成人久久网免费观看| 国产精品亚洲精品青青青| 免费人成视频x8x8入口| 99精品视频在线观看免费播放| 亚洲精品V天堂中文字幕| 最新亚洲成av人免费看| 韩国免费一级成人毛片| fc2成年免费共享视频18| 精品久久亚洲中文无码| 亚洲国产人成中文幕一级二级| **一级一级毛片免费观看| 真人无码作爱免费视频| 夜夜亚洲天天久久| 亚洲AV无码一区二区三区在线观看 | 亚洲不卡影院午夜在线观看| 亚洲成a人在线看天堂无码| 久久www免费人成看片| 国产精品99爱免费视频| 亚洲最大中文字幕无码网站| 亚洲国产精品国自产拍AV| 国产精品免费视频一区| 18禁成人网站免费观看| 中文在线观看永久免费| 久久精品亚洲日本波多野结衣| 不卡精品国产_亚洲人成在线| 免费可以在线看A∨网站| 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 亚洲人成国产精品无码| 欧美在线看片A免费观看| 中文字幕在线视频免费观看| 亚洲色一区二区三区四区| 亚洲黄色在线观看视频| 亚洲日韩精品一区二区三区| 亚洲成人影院在线观看| 成年女人免费视频播放77777| 88xx成人永久免费观看|