標籤:
package com.mzq.util;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;/** * * <br> * <b>檔案操作總結</b></br> * * <pre> * 直接利用java的底層編寫 * </pre> * * @author moziqi 2014-7-27 */public final class FileUtil {/** * 建立檔案夾 * * @param folderName * @return */public static boolean createFolder(String folderName) {flag = false;File file = new File(folderName);if (!file.exists()) {flag = file.mkdir();}return flag;}/** * 建立檔案 * * @param fileName * @param content * @return */public static boolean createFile(String fileName, String content) {File file = new File(fileName);flag = true;try {if (!file.exists()) {file.createNewFile();}FileWriter resultFile = new FileWriter(file);PrintWriter myFile = new PrintWriter(resultFile);myFile.println(content);resultFile.close();} catch (IOException e) {System.out.println("建立檔案操作出錯");flag = false;e.printStackTrace();}return flag;}/** * 刪除檔案 * * @param fileName * @return */public static boolean deleteFile(String fileName) {File file = new File(fileName);flag = false;// 路徑為檔案且不為空白則進行刪除if (file.isFile() && file.exists()) {flag = file.delete();}return flag;}/** * 刪除檔案夾 * * @param directory * @return */public static boolean deleteDirectory(String directory) {// 如果directory不以檔案分隔字元結尾,自動添加檔案分隔字元if (!directory.endsWith(File.separator)) {directory = directory + File.separator;}File dirFile = new File(directory);// 如果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());if (!flag)break;} // 刪除子目錄else {flag = deleteDirectory(files[i].getAbsolutePath());if (!flag)break;}}if (!flag)return false;// 刪除目前的目錄if (dirFile.delete()) {return true;} else {return false;}}/** * 檔案刪除操作 * * @param fileName * @return */public static boolean DeleteFolder(String fileName) {flag = false;File file = new File(fileName);// 判斷目錄或檔案是否存在if (!file.exists()) { // 不存在返回 falsereturn flag;} else {// 判斷是否為檔案if (file.isFile()) { // 為檔案時調用刪除檔案方法return deleteFile(fileName);} else { // 為目錄時調用刪除目錄方法return deleteDirectory(fileName);}}}/** * 複製檔案 * * @param src * @param dest * @throws IOException */public static void copyFile(String src, String dest) throws IOException {FileInputStream in = new FileInputStream(src);File file = new File(dest);if (!file.exists())file.createNewFile();FileOutputStream out = new FileOutputStream(file);int c;byte buffer[] = new byte[1024];while ((c = in.read(buffer)) != -1) {for (int i = 0; i < c; i++)out.write(buffer[i]);}in.close();out.close();}/** * 轉移檔案目錄 * * @param filename * @param oldpath * @param newpath * @param cover */public static void changeDirectory(String filename, String oldpath,String newpath, boolean cover) {if (!oldpath.equals(newpath)) {File oldfile = new File(oldpath + "/" + filename);File newfile = new File(newpath + "/" + filename);if (newfile.exists()) {// 若在待轉移目錄下,已經存在待轉移檔案if (cover)// 覆蓋oldfile.renameTo(newfile);elseSystem.out.println("在新目錄下已經存在:" + filename);} else {oldfile.renameTo(newfile);}}}private static Boolean flag = null;}
參考連結如下:
http://www.cnblogs.com/springcsc/archive/2009/12/03/1616367.html
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
檔案操作工具類