靈魂-放水

          為學日益,為道日損。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
          import java.io.*;

          public class FileOperate {
          public FileOperate() {
          }

          /**
          ? * 新建目錄
          ? * @param folderPath String 如 c:/fqf
          ? * @return boolean
          ? */
          public void newFolder(String folderPath) {
          ? try {
          ? ? String filePath = folderPath;
          ? ? filePath = filePath.toString();
          ? ? java.io.File myFilePath = new java.io.File(filePath);
          ? ? if (!myFilePath.exists()) {
          ? ? myFilePath.mkdir();
          ? ? }
          ? }
          ? catch (Exception e) {
          ? ? System.out.println("新建目錄操作出錯");
          ? ? e.printStackTrace();
          ? }
          }

          /**
          ? * 新建文件
          ? * @param filePathAndName String 文件路徑及名稱 如c:/fqf.txt
          ? * @param fileContent String 文件內容
          ? * @return boolean
          ? */
          public void newFile(String filePathAndName, String fileContent) {

          ? try {
          ? ? String filePath = filePathAndName;
          ? ? filePath = filePath.toString();
          ? ? File myFilePath = new File(filePath);
          ? ? if (!myFilePath.exists()) {
          ? ? myFilePath.createNewFile();
          ? ? }
          ? ? FileWriter resultFile = new FileWriter(myFilePath);
          ? ? PrintWriter myFile = new PrintWriter(resultFile);
          ? ? String strContent = fileContent;
          ? ? myFile.println(strContent);
          ? ? resultFile.close();

          ? }
          ? catch (Exception e) {
          ? ? System.out.println("新建目錄操作出錯");
          ? ? e.printStackTrace();

          ? }

          }

          /**
          ? * 刪除文件
          ? * @param filePathAndName String 文件路徑及名稱 如c:/fqf.txt
          ? * @param fileContent String
          ? * @return boolean
          ? */
          public void delFile(String filePathAndName) {
          ? try {
          ? ? String filePath = filePathAndName;
          ? ? filePath = filePath.toString();
          ? ? java.io.File myDelFile = new java.io.File(filePath);
          ? ? myDelFile.delete();

          ? }
          ? catch (Exception e) {
          ? ? System.out.println("刪除文件操作出錯");
          ? ? e.printStackTrace();

          ? }

          }

          /**
          ? * 刪除文件夾
          ? * @param filePathAndName String 文件夾路徑及名稱 如c:/fqf
          ? * @param fileContent String
          ? * @return boolean
          ? */
          public void delFolder(String folderPath) {
          ? try {
          ? ? delAllFile(folderPath); //刪除完里面所有內容
          ? ? String filePath = folderPath;
          ? ? filePath = filePath.toString();
          ? ? java.io.File myFilePath = new java.io.File(filePath);
          ? ? myFilePath.delete(); //刪除空文件夾

          ? }
          ? catch (Exception e) {
          ? ? System.out.println("刪除文件夾操作出錯");
          ? ? e.printStackTrace();

          ? }

          }

          /**
          ? * 刪除文件夾里面的所有文件
          ? * @param path String 文件夾路徑 如 c:/fqf
          ? */
          public void delAllFile(String path) {
          ? File file = new File(path);
          ? if (!file.exists()) {
          ? ? return;
          ? }
          ? if (!file.isDirectory()) {
          ? ? return;
          ? }
          ? String[] tempList = file.list();
          ? File temp = null;
          ? for (int i = 0; i < tempList.length; i++) {
          ? ? if (path.endsWith(File.separator)) {
          ? ? temp = new File(path + tempList[i]);
          ? ? }
          ? ? else {
          ? ? temp = new File(path + File.separator + tempList[i]);
          ? ? }
          ? ? if (temp.isFile()) {
          ? ? temp.delete();
          ? ? }
          ? ? if (temp.isDirectory()) {
          ? ? delAllFile(path+"/"+ tempList[i]);//先刪除文件夾里面的文件
          ? ? delFolder(path+"/"+ tempList[i]);//再刪除空文件夾
          ? ? }
          ? }
          }

          /**
          ? * 復制單個文件
          ? * @param oldPath String 原文件路徑 如:c:/fqf.txt
          ? * @param newPath String 復制后路徑 如:f:/fqf.txt
          ? * @return boolean
          ? */
          public void copyFile(String oldPath, String newPath) {
          ? try {
          ? ? int bytesum = 0;
          ? ? int byteread = 0;
          ? ? File oldfile = new File(oldPath);
          ? ? if (oldfile.exists()) { //文件存在時
          ? ? InputStream inStream = new FileInputStream(oldPath); //讀入原文件
          ? ? FileOutputStream fs = new FileOutputStream(newPath);
          ? ? byte[] buffer = new byte[1444];
          ? ? int length;
          ? ? while ( (byteread = inStream.read(buffer)) != -1) {
          ? ? ? bytesum += byteread; //字節數 文件大小
          ? ? ? System.out.println(bytesum);
          ? ? ? fs.write(buffer, 0, byteread);
          ? ? }
          ? ? inStream.close();
          ? ? }
          ? }
          ? catch (Exception e) {
          ? ? System.out.println("復制單個文件操作出錯");
          ? ? e.printStackTrace();

          ? }

          }

          /**
          ? * 復制整個文件夾內容
          ? * @param oldPath String 原文件路徑 如:c:/fqf
          ? * @param newPath String 復制后路徑 如:f:/fqf/ff
          ? * @return boolean
          ? */
          public void copyFolder(String oldPath, String newPath) {

          ? try {
          ? ? (new File(newPath)).mkdirs(); //如果文件夾不存在 則建立新文件夾
          ? ? File a=new File(oldPath);
          ? ? String[] file=a.list();
          ? ? File temp=null;
          ? ? for (int i = 0; i < file.length; i++) {
          ? ? if(oldPath.endsWith(File.separator)){
          ? ? ? temp=new File(oldPath+file[i]);
          ? ? }
          ? ? else{
          ? ? ? temp=new File(oldPath+File.separator+file[i]);
          ? ? }

          ? ? if(temp.isFile()){
          ? ? ? FileInputStream input = new FileInputStream(temp);
          ? ? ? FileOutputStream output = new FileOutputStream(newPath + "/" +
          ? ? ? ? (temp.getName()).toString());
          ? ? ? byte[] b = new byte[1024 * 5];
          ? ? ? int len;
          ? ? ? while ( (len = input.read(b)) != -1) {
          ? ? ? ? output.write(b, 0, len);
          ? ? ? }
          ? ? ? output.flush();
          ? ? ? output.close();
          ? ? ? input.close();
          ? ? }
          ? ? if(temp.isDirectory()){//如果是子文件夾
          ? ? ? copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
          ? ? }
          ? ? }
          ? }
          ? catch (Exception e) {
          ? ? System.out.println("復制整個文件夾內容操作出錯");
          ? ? e.printStackTrace();

          ? }

          }

          /**
          ? * 移動文件到指定目錄
          ? * @param oldPath String 如:c:/fqf.txt
          ? * @param newPath String 如:d:/fqf.txt
          ? */
          public void moveFile(String oldPath, String newPath) {
          ? copyFile(oldPath, newPath);
          ? delFile(oldPath);

          }

          /**
          ? * 移動文件到指定目錄
          ? * @param oldPath String 如:c:/fqf.txt
          ? * @param newPath String 如:d:/fqf.txt
          ? */
          public void moveFolder(String oldPath, String newPath) {
          ? copyFolder(oldPath, newPath);
          ? delFolder(oldPath);

          }
          }
          posted on 2006-05-29 16:30 放水老倌 閱讀(223) 評論(0)  編輯  收藏 所屬分類: J2EE
          主站蜘蛛池模板: 长岭县| 怀安县| 沧源| 遵化市| 澄迈县| 武乡县| 黑山县| 衡阳县| 胶州市| 铜梁县| 贵溪市| 池州市| 湟中县| 普兰县| 台山市| 林口县| 霍州市| 秀山| 景宁| 福泉市| 德清县| 长顺县| 福清市| 理塘县| 中卫市| 诸城市| 桃江县| 榆林市| 顺平县| 昌邑市| 都昌县| 泾源县| 渭源县| 商河县| 金昌市| 凤冈县| 隆回县| 通海县| 凤凰县| 长岛县| 阿鲁科尔沁旗|