利用输入/输出流编写一个程序,实现文件复制的功能,程序的命令行参数的形式及操作功能均类似于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();
}
}
这个问题可以参考我 Gitee 上的代码:文件复制
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();
}
}
}
}
}