Java实现DOS中的Copy命令

来源:互联网 发布:京都议定书 知乎 编辑:程序博客网 时间:2024/04/29 22:12

import java.io.*;

import java.util.Scanner;

public class fileCopy 

{

 public static void main(String []args) throws Exception

 {

  try{

   

   if("Copy".equals(args[0]) || "copy".equals(args[0]))

   {

    File file1 = new File(args[1]); // 指定要操作的源文件路径

    if(file1.exists()) //如果源文件存在

    {

     File file2 = new File(args[2]); // 指定要操作的目标文件路径

     if(file2.exists())//如果目标文件存在

     {

      FileReader fr = new FileReader(args[1]);   //创建一个FileReader对象   从磁盘读

      BufferedReader br = new BufferedReader(fr);    //创建一个BufferedReader对象

      Scanner input = new Scanner(System.in) ;

      System.out.print("是否要覆盖目标文件?    (y/n)  ");

      String x= input.next();

      if("y".equals(x)|| "Y".equals(x))

      {

       FileWriter fw =new FileWriter(args[2]);    //创建一个FileWriter对象   写到磁盘

       BufferedWriter bw =new BufferedWriter(fw);     //创建一个BufferedReader对象

       if(br.ready())

       {

        String tmp=null;

        while((tmp=br.readLine())!=null)

        {

         bw.write(tmp);                              //写一行

         bw.newLine();                               //写一个换行符

        }

       }

       bw.flush();            //清空缓存

       bw.close();            //关闭流

       fw.close();            //关闭流

       br.close();                                   //关闭流

       fr.close();                                   //关闭流

       System.out.println("成功覆盖文件!");

      }

      else

      {

       

       FileWriter fw =new FileWriter(args[2],true);    //创建一个FileWriter对象   写到磁盘

       BufferedWriter bw =new BufferedWriter(fw);     //创建一个BufferedReader对象

       if(br.ready())

       {

        String tmp=null;

        while((tmp=br.readLine())!=null)

        {

         bw.write(tmp);                              //写一行

         bw.newLine();                               //写一个换行符

        }

       }

       bw.flush();            //清空缓存

       bw.close();            //关闭流

       fw.close();            //关闭流

       br.close();                                   //关闭流

       fr.close();                                   //关闭流

       System.out.println("成功追加文件!");

      }

     }

     else

     {

      FileReader fr = new FileReader(args[1]);   //创建一个FileReader对象   从磁盘读

      BufferedReader br = new BufferedReader(fr);    //创建一个BufferedReader对象

      FileWriter fw =new FileWriter(args[2]);    //创建一个FileWriter对象   写到磁盘

      BufferedWriter bw =new BufferedWriter(fw);     //创建一个BufferedReader对象

      System.out.println("不存在目标文件,正在自动生成一个新文件!");

      if(br.ready())

      {

       String tmp=null;

       while((tmp=br.readLine())!=null)

       { 

        bw.write(tmp);                              //写一行

        bw.newLine();                               //写一个换行符

       }

      }

      bw.flush();            //清空缓存

      bw.close();            //关闭流

      fw.close();            //关闭流

      br.close();                                   //关闭流

      fr.close();                                   //关闭流

     }

    }

    else

    {

     System.out.println("源文件不存在!");

    }

   }

   else

   {

    System.out.println("输入错误!");

   }

  }

  catch (IOException e) 

  {

   e.printStackTrace();

        } 

 }

}



0 0
原创粉丝点击