Java实现DOS中的Copy命令

  1 import java.io.*;
  2 
  3 import java.util.Scanner;
  4 
  5 public class fileCopy 
  6 
  7 {
  8 
  9  public static void main(String []args) throws Exception
 10 
 11  {
 12 
 13   try{
 14 
 15    
 16 
 17    if("Copy".equals(args[0]) || "copy".equals(args[0]))
 18 
 19    {
 20 
 21     File file1 = new File(args[1]); // 指定要操作的源文件路径
 22 
 23     if(file1.exists()) //如果源文件存在
 24 
 25     {
 26 
 27      File file2 = new File(args[2]); // 指定要操作的目标文件路径
 28 
 29      if(file2.exists())//如果目标文件存在
 30 
 31      {
 32 
 33       FileReader fr = new FileReader(args[1]);   //创建一个FileReader对象   从磁盘读
 34 
 35       BufferedReader br = new BufferedReader(fr);    //创建一个BufferedReader对象
 36 
 37       Scanner input = new Scanner(System.in) ;
 38 
 39       System.out.print("是否要覆盖目标文件?    (y/n)  ");
 40 
 41       String x= input.next();
 42 
 43       if("y".equals(x)|| "Y".equals(x))
 44 
 45       {
 46 
 47        FileWriter fw =new FileWriter(args[2]);    //创建一个FileWriter对象   写到磁盘
 48 
 49        BufferedWriter bw =new BufferedWriter(fw);     //创建一个BufferedReader对象
 50 
 51        if(br.ready())
 52 
 53        {
 54 
 55         String tmp=null;
 56 
 57         while((tmp=br.readLine())!=null)
 58 
 59         {
 60 
 61          bw.write(tmp);                              //写一行
 62 
 63          bw.newLine();                               //写一个换行符
 64 
 65         }
 66 
 67        }
 68 
 69        bw.flush();            //清空缓存
 70 
 71        bw.close();            //关闭流
 72 
 73        fw.close();            //关闭流
 74 
 75        br.close();                                   //关闭流
 76 
 77        fr.close();                                   //关闭流
 78 
 79        System.out.println("成功覆盖文件!");
 80 
 81       }
 82 
 83       else
 84 
 85       {
 86 
 87        
 88 
 89        FileWriter fw =new FileWriter(args[2],true);    //创建一个FileWriter对象   写到磁盘
 90 
 91        BufferedWriter bw =new BufferedWriter(fw);     //创建一个BufferedReader对象
 92 
 93        if(br.ready())
 94 
 95        {
 96 
 97         String tmp=null;
 98 
 99         while((tmp=br.readLine())!=null)
100 
101         {
102 
103          bw.write(tmp);                              //写一行
104 
105          bw.newLine();                               //写一个换行符
106 
107         }
108 
109        }
110 
111        bw.flush();            //清空缓存
112 
113        bw.close();            //关闭流
114 
115        fw.close();            //关闭流
116 
117        br.close();                                   //关闭流
118 
119        fr.close();                                   //关闭流
120 
121        System.out.println("成功追加文件!");
122 
123       }
124 
125      }
126 
127      else
128 
129      {
130 
131       FileReader fr = new FileReader(args[1]);   //创建一个FileReader对象   从磁盘读
132 
133       BufferedReader br = new BufferedReader(fr);    //创建一个BufferedReader对象
134 
135       FileWriter fw =new FileWriter(args[2]);    //创建一个FileWriter对象   写到磁盘
136 
137       BufferedWriter bw =new BufferedWriter(fw);     //创建一个BufferedReader对象
138 
139       System.out.println("不存在目标文件,正在自动生成一个新文件!");
140 
141       if(br.ready())
142 
143       {
144 
145        String tmp=null;
146 
147        while((tmp=br.readLine())!=null)
148 
149        { 
150 
151         bw.write(tmp);                              //写一行
152 
153         bw.newLine();                               //写一个换行符
154 
155        }
156 
157       }
158 
159       bw.flush();            //清空缓存
160 
161       bw.close();            //关闭流
162 
163       fw.close();            //关闭流
164 
165       br.close();                                   //关闭流
166 
167       fr.close();                                   //关闭流
168 
169      }
170 
171     }
172 
173     else
174 
175     {
176 
177      System.out.println("源文件不存在!");
178 
179     }
180 
181    }
182 
183    else
184 
185    {
186 
187     System.out.println("输入错误!");
188 
189    }
190 
191   }
192 
193   catch (IOException e) 
194 
195   {
196 
197    e.printStackTrace();
198 
199         } 
200 
201  }
202 
203 }

 


 

posted @ 2014-05-16 23:25  青山应回首  阅读(544)  评论(0编辑  收藏  举报