<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));
            }
        }
    }

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


    網站導航:
     
    主站蜘蛛池模板: 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产免费黄色无码视频| 特级淫片国产免费高清视频| 亚洲av日韩av无码av| 亚欧人成精品免费观看| 1区1区3区4区产品亚洲| **一级一级毛片免费观看| 亚洲制服丝袜在线播放| 免费99精品国产自在现线| 亚洲性无码AV中文字幕| 两个人的视频高清在线观看免费| 亚洲精品国产电影午夜| 亚洲精品视频观看| 青青草免费在线视频| 亚洲人配人种jizz| 在线观看AV片永久免费| 亚洲av极品无码专区在线观看| 无码乱肉视频免费大全合集| 亚洲精品熟女国产| 91精品成人免费国产片| 亚洲精品中文字幕乱码影院| 你好老叔电影观看免费| 久久精品国产亚洲Aⅴ香蕉| av网站免费线看| 亚洲一级Av无码毛片久久精品| 两个人看www免费视频| 亚洲国产精品无码久久久秋霞2 | 久久久久亚洲国产AV麻豆| 精品国产一区二区三区免费看| 亚洲av永久中文无码精品| 免费看一级做a爰片久久| 四虎影视在线看免费观看| 亚洲综合精品香蕉久久网| 两个人看的www免费视频| 亚洲午夜久久久久妓女影院 | 无码人妻精品中文字幕免费 | 亚洲中文字幕视频国产| 免费91麻豆精品国产自产在线观看| 亚洲黄色在线观看网站| 国产成人无码免费看视频软件| 精品久久久久久亚洲综合网|