隨筆-193  評論-715  文章-1  trackbacks-0
          昨天晚上實(shí)在太無聊了,想著自己的移動硬盤和公司的電腦里面資料有很多不“同步”,要是刪掉移動硬盤里面的文件然后再把所有的文件COPY一次的話,估計得幾個小時,USB的速度畢竟還慢,而且沒有必要都COPY,從時間和性能上都很不劃算。

          怎么辦?

          寫個程序吧來解決吧(很多時候我總想著用程序來解決問題)。

          程序很簡單,僅滿足我現(xiàn)在的基本功能,將比較的結(jié)果打印成清單。如果你也有同想的需求,你可以免費(fèi)使用她,我可能會在將來的時間里做成圖形化的界面,目前會JAVA的人都可以使用。

          暫定版本為 文件比較器 V0.1。源程序如下:
           1import java.io.*;
           2
           3/*
           4作者:張明星
           5時間:2006.3.12.
           6*/

           7public class FileCompare {
           8
           9    public FileCompare(String pathName,String destPathName){
          10        this.compare(pathName,destPathName);
          11    }

          12    
          13    public void compare(String pathName,String destPathName){
          14        try{
          15        File file=new File(pathName);
          16        
          17        String fileAbsolutePath=file.getAbsolutePath();
          18        
          19        String []fileList=file.list();
          20        for(int i=0;i<fileList.length;i++){
          21            File tempFile=new File(fileAbsolutePath,fileList[i]);
          22            if(tempFile.isDirectory()){
          23            File tempFile1=new File(destPathName+tempFile.getAbsolutePath().substring(pathName.length()));
          24            if(!tempFile1.exists())
          25                //tempFile1.mkdir();//可建立此目錄
          26                System.out.println(tempFile1.getAbsolutePath()+",此文件目錄不存在。");
          27            this.compare(tempFile.getAbsolutePath(),destPathName+tempFile.getAbsolutePath().substring(pathName.length()));
          28            }

          29            else if(tempFile.isFile()){
          30                File tempFile2=new File(destPathName+tempFile.getAbsolutePath().substring(pathName.length()));
          31                if(!tempFile2.exists())
          32                    System.out.println(tempFile.getAbsolutePath()+",目標(biāo)文件夾中無此文件。");
          33            }

          34            else {
          35                System.out.println("Error");
          36            }

          37        }

          38        }

          39        catch(Exception e){
          40            e.printStackTrace();
          41        }

          42    }

          43    public static void main(String[] args) {
                         //第一個參數(shù)為源目錄,第二個參數(shù)為目標(biāo)目錄。
          44        new FileCompare("D:\\software","L:\\software");
          45        System.exit(0);
          46    }

          47
          48}

          49

          同時也歡迎大家拍磚和交流:
          MSN:fastzch@hotmail.com
          posted on 2006-03-12 11:20 Robin's Programming World 閱讀(1915) 評論(6)  編輯  收藏 所屬分類: Java

          評論:
          # re: 文件比較器V0.1版 2006-03-12 17:14 | thinkbase
          有一個叫做 JFileSync 的東東可以滿足你的需求, 而且功能比較強(qiáng)大  回復(fù)  更多評論
            
          # re: 文件比較器V0.1版 2006-03-13 10:07 | Robin's Java World
          這東東的確不錯,謝謝!
          有空來研究一下其源碼。  回復(fù)  更多評論
            
          # re: 文件比較器V0.1版 2006-03-13 10:24 | guest
          直接用xcopy命令就可以搞定了,我就xcopy來同步筆記本和臺式機(jī)資料的。  回復(fù)  更多評論
            
          # re: 文件比較器V0.1版 2006-03-13 10:27 | guest
          xcopy d:\src e:\dest /H /R /D /E  回復(fù)  更多評論
            
          # re: 文件比較器V0.1版 2006-03-13 18:27 | calvin
          以后此類小程序代碼請勿放在blogjava首頁,謝謝:)  回復(fù)  更多評論
            
          # re: 文件比較器V0.1版 2006-03-14 16:10 | Robin's Java World
          XCOPY的確不錯,不過我如果某些部分不想要的話就不好辦了。
          我已經(jīng)把JFileSync這個東東打好包了,做成了個窗口圖形程序,不過公司的網(wǎng)絡(luò)過濾太嚴(yán),不太好上傳,改天找個機(jī)會傳上去吧。  回復(fù)  更多評論
            
          主站蜘蛛池模板: 巢湖市| 磐石市| 苗栗市| 柳江县| 晴隆县| 奉化市| 景泰县| 陈巴尔虎旗| 吕梁市| 永福县| 靖边县| 锦州市| 太和县| 南岸区| 卢龙县| 赞皇县| 汉寿县| 民县| 安塞县| 色达县| 丽江市| 大姚县| 申扎县| 信宜市| 安化县| 沭阳县| 普兰店市| 临城县| 青川县| 全椒县| 昌平区| 巴塘县| 高平市| 巫山县| 黎城县| 天台县| 三都| 广德县| 鹤壁市| 综艺| 封丘县|