java程序完成这个问题

利用输入/输出流编写一个程序,实现文件复制的功能,程序的命令行参数的形式及操作功能均类似于DOS中的copy功能
要求用java写, 写完把看看class文件

import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Test {
    public static void main(String[] args) throws Exception {
        FileInputStream in = new FileInputStream(args[0]);
        FileOutputStream out = new FileOutputStream(args[1]);
        final byte[] bs = new byte[1024];
        int length;
        while ((length = in.read(bs)) != -1) {
            out.write(bs, 0, length);
        }
        out.flush();
        in.close();
        out.close();
    }
}

img

这个问题可以参考我 Gitee 上的代码:文件复制

img


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Test {
    public static void main(String[] args) { // 在这儿规定只允许输入2个参数,即第一个参数为原文件地址,第二个参数为目标地址
        if (args.length != 2) { // 如果参数数量不是两个,系统退出
            System.exit(-1);
        }
        File inputFile = new File(args[0]);
        File outputFile = new File(args[1]);
        BufferedReader br = null;
        BufferedWriter bw = null;
        String lineData = "";
        try {
            br = new BufferedReader(new FileReader(inputFile));
            bw = new BufferedWriter(new FileWriter(outputFile));
            while ((lineData = br.readLine()) != null) { // 读数据
                bw.write(lineData); // 写数据
                bw.newLine();
            }
// 关闭流
            bw.flush();
            bw.close();
            br.close();
            System.out.println("Copy Success!");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


CopyFile.java
//三步骤   1.创建对象  2.调用方法 3.关闭流
package cn01;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class CopyFile {
public static void main(String[] args) {
    File file=new File("D:\\abc.txt");  //输入流的源
    File file1=new File("abc.txt");//输出的目的地  当前文件下abc.txt
    //声明输入流对象、输出流对象
    FileInputStream in=null;
    FileOutputStream out=null;
    try {
        in=new FileInputStream(file);
        out=new FileOutputStream(file1);
        //调用方法
        byte b[]=new byte[1024];    //存放读取的数据
        int len=-1;                 //读取的字节数
        while((len=in.read(b))!=-1){
            out.write(b);           //将读入的字节数组写到当前文件夹下的abc.txt文件中
        }
    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }finally{       //关闭输入输出流 先打开后关闭
       
        if(out!=null){
            try {
                out.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if(in!=null){
            try {
                in.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
   
}
}

参考链接:https://www.codenong.com/cs106159720/