Java蜘蛛人 歡迎大家

          歡迎大家 來到我的blog , 如果我身邊的朋友 有什么不懂可以直接來問我 我會細心的幫助你的. 如果網絡上的朋友有什么不懂的 可以加我Java蜘蛛人 QQ48187537
          posts - 54, comments - 192, trackbacks - 0, articles - 1

          Java復制和刪除文件

          Posted on 2008-07-01 16:51 Java蜘蛛人 --鄭成橋 閱讀(2785) 評論(0)  編輯  收藏
          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); 
           
             } 
          }

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


          網站導航:
           
          主站蜘蛛池模板: 四平市| 来凤县| 南靖县| 两当县| 八宿县| 磴口县| 京山县| 东源县| 平安县| 积石山| 柏乡县| 永康市| 湘潭县| 隆子县| 荔波县| 永定县| 民权县| 万盛区| 秭归县| 商城县| 肥东县| 广灵县| 普洱| 六枝特区| 陈巴尔虎旗| 齐齐哈尔市| 多伦县| 麻栗坡县| 桃源县| 襄汾县| 巴塘县| 灵石县| 长寿区| 黎城县| 濮阳县| 临泽县| 南宫市| 义乌市| 商城县| 清新县| 广汉市|