logo资料库

java文件复制器代码.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
文件复制器 FileCopy 完成一个程序,这个程序可以将指定文件中的内容复制到另一个文件中去。 设计要求: 1)在 FileCopy 类中,建立 copy 方法,实现文件复制的内容; 2)程序中需要考虑输入输出异常处理; 3)在 dos 控制台窗口环境下,通过命令行参数运行程序,如: Java FileCopy test1.txt test2.txt 作者:方贵深 吉林大学珠海学院 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class FileCopy { /** * @param args */ private static void copy(File file1,File file2) { BufferedInputStream inputStream=null; BufferedOutputStream outputStream=null; if(!file1.exists()) { System.out.println("文件不存在"); return; } if(file1.toString().indexOf(".")==-1) { if(file2.toString().indexOf(".")==-1) { //源文件是文件夹 file2=new File(file2.toString()+file1.getName()); file2.mkdirs(); } else {
System.out.println("不能将文件夹复制到文件内"); //源文件是文件 } } else { if(file2.toString().indexOf(".")==-1) { //目标文件是文件夹,将file1的文件复制到文件夹内 file2.mkdirs(); file2=new File(file2.toString()+File.separator+file1.getName()); //将文件名添加到目标路径后 //创建相应的路径 //目标文件是文件 if(file2.exists()) else System.out.println("目标文件已存在,复制失败"); file2.getParentFile().mkdirs(); } else { } try { inputStream=new BufferedInputStream(new FileInputStream(file1)); outputStream=new BufferedOutputStream(new FileOutputStream(file2)); try { int i=-1; byte []b=new byte[1024]; while((i=inputStream.read(b))!=-1) { outputStream.write(b,0,i); } } catch (Exception e2) { System.out.println(e2.getMessage()); //返回的是读取的字节数 } finally { } myStreamClose(inputStream, outputStream); } catch (FileNotFoundException e1) { System.out.println(e1.getMessage()); myStreamClose(inputStream, outputStream); } finally { } } try } private static void myStreamClose(InputStream inputStream,OutputStream outputStream) {
inputStream.close(); outputStream.close(); } catch(IOException ie) { { } System.out.println(ie.getMessage()); } public static void main(String[] args) { if(args.length!=2) { System.out.println("输入有误,请重新输入(从控制台输入)"); return; } File file1=new File(args[0]).getAbsoluteFile(); File file2=new File(args[1]).getAbsoluteFile(); copy(file1, file2); // TODO Auto-generated method stub } }
分享到:
收藏