Java蜘蛛人 歡迎大家

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

          Java復制和刪除文件

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

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


          網站導航:
           
          主站蜘蛛池模板: 名山县| 莱阳市| 宁乡县| 辽阳市| 岳阳县| 绥芬河市| 黄陵县| 扶风县| 靖西县| 郸城县| 富阳市| 宁强县| 龙海市| 通渭县| 长泰县| 抚顺县| 壤塘县| 杭锦后旗| 景谷| 祁阳县| 哈密市| 彰武县| 福安市| 河池市| 江川县| 长白| 司法| 根河市| 抚顺市| 江源县| 大洼县| 乌拉特中旗| 桃江县| 中山市| 龙泉市| 股票| 黑水县| 蕲春县| 林甸县| 高雄县| 武冈市|