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 }