用java實現的文件夾復制與刪除的程序
private void deleteFile(File file) {
if (file.exists()) { // 判斷文件是否存在
if (file.isFile()) { // 判斷是否是文件
file.delete(); // delete()方法 你應該知道 是刪除的意思;
} else if (file.isDirectory()) { // 否則如果它是一個目錄
File files[] = file.listFiles(); // 聲明目錄下所有的文件 files[];
for (int i = 0; i < files.length; i++) { // 遍歷目錄下所有的文件
this.deleteFile(files[i]); // 把每個文件 用這個方法進行迭代
}
}
file.delete();
} else {
System.out.println("所刪除的文件不存在!" + '\n');
}
}// 復制文件 public static void copyFile(File sourceFile, File targetFile) throws IOException { // 新建文件輸入流并對它進行緩沖 FileInputStream input = new FileInputStream(sourceFile); BufferedInputStream inBuff = new BufferedInputStream(input); // 新建文件輸出流并對它進行緩沖 FileOutputStream output = new FileOutputStream(targetFile); BufferedOutputStream outBuff = new BufferedOutputStream(output); // 緩沖數組 byte[] b = new byte[1024 * 5]; int len; while ((len = inBuff.read(b)) != -1) { outBuff.write(b, 0, len); } // 刷新此緩沖的輸出流 outBuff.flush(); // 關閉流 inBuff.close(); outBuff.close(); output.close(); input.close(); } // 復制文件夾 public static void copyDirectiory(String sourceDir, String targetDir) throws IOException { // 新建目標目錄 (new File(targetDir)).mkdirs(); // 獲取源文件夾當前下的文件或目錄 File[] file = (new File(sourceDir)).listFiles(); if (file != null) { for (int i = 0; i < file.length; i++) { if (file[i].isFile()) { // 源文件 File sourceFile = file[i]; // 目標文件 File targetFile = new File( new File(targetDir).getAbsolutePath() + File.separator + file[i].getName()); copyFile(sourceFile, targetFile); } if (file[i].isDirectory()) { // 準備復制的源文件夾 String dir1 = sourceDir + "/" + file[i].getName(); // 準備復制的目標文件夾 String dir2 = targetDir + "/" + file[i].getName(); copyDirectiory(dir1, dir2); } } } } </pre>
本文由用戶 javap 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!