• 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 }


    作者:Standby一生热爱名山大川、草原沙漠,还有妹子
    出处:http://www.cnblogs.com/standby/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Nginx
    Web 系统架构一般组成
    分布式系统常见的问题
    Scala + Thrift+ Zookeeper+Flume+Kafka配置笔记
    Spring Boot—21Actuator--监控
    Zookeeper
    Spring Boot—20Zookeeper
    Spring Boot—19Session
    Spring Boot—19Cache
    Spring Boot—18Redis
  • 原文地址:https://www.cnblogs.com/standby/p/4150144.html
Copyright © 2020-2023  润新知