题目见上一篇博客
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import org.junit.Test;
public class IO {
/**
* 实现文件复制
* @throws IOException
*/
@Test
public void test1() throws IOException{
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您要复制的文件所在的全路径:");
String filePath = scanner.next();
System.out.println("请输入您要复制到的目标路径:");
String targetPath = scanner.next();
File f = new File(filePath);//源文件对象
File target = null;//目标文件对象
if(targetPath.endsWith("\\")||targetPath.endsWith("/")){
target = new File(targetPath+"copy_"+f.getName());
}else{
target = new File(targetPath+File.separator+"copy_"+f.getName());
}
if(target!=null&&target.exists()){
target.delete();
}
//判断文件是否存在
if(!f.exists()){
System.out.println("对不起,您要复制的文件不存在!");
return;
}
//判断文件的类型
if(f.getName().endsWith(".txt")){
//使用字符流复制
BufferedReader br = new BufferedReader(new FileReader(f));
BufferedWriter bw = new BufferedWriter(new FileWriter(target));
char [] buff = new char[1024];
int len=0 ;
while((len = br.read(buff))!=-1){
bw.write(buff,0,len);
}
bw.close();
br.close();
System.out.println("文件复制完成!复制的文件绝对路径为:"+target.getAbsolutePath());
}else{
//使用字节流复制
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(target));
byte [] buff = new byte[1024];
int len =0;
while((len = bis.read(buff))!=-1){
bos.write(buff, 0, len);
}
bos.close();
bis.close();
System.out.println("文件复制完成!复制的文件绝对路径为:"+target.getAbsolutePath());
}
}
}
/**
* 实现文件复制
* @throws IOException
*/
@Test
public void test1() throws IOException{
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您要复制的文件所在的全路径:");
String filePath = scanner.next();
System.out.println("请输入您要复制到的目标路径:");
String targetPath = scanner.next();
File f = new File(filePath);//源文件对象
File target = null;//目标文件对象
if(targetPath.endsWith("\\")||targetPath.endsWith("/")){
target = new File(targetPath+"copy_"+f.getName());
}else{
target = new File(targetPath+File.separator+"copy_"+f.getName());
}
if(target!=null&&target.exists()){
target.delete();
}
//判断文件是否存在
if(!f.exists()){
System.out.println("对不起,您要复制的文件不存在!");
return;
}
//判断文件的类型
if(f.getName().endsWith(".txt")){
//使用字符流复制
BufferedReader br = new BufferedReader(new FileReader(f));
BufferedWriter bw = new BufferedWriter(new FileWriter(target));
char [] buff = new char[1024];
int len=0 ;
while((len = br.read(buff))!=-1){
bw.write(buff,0,len);
}
bw.close();
br.close();
System.out.println("文件复制完成!复制的文件绝对路径为:"+target.getAbsolutePath());
}else{
//使用字节流复制
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(target));
byte [] buff = new byte[1024];
int len =0;
while((len = bis.read(buff))!=-1){
bos.write(buff, 0, len);
}
bos.close();
bis.close();
System.out.println("文件复制完成!复制的文件绝对路径为:"+target.getAbsolutePath());
}
}
}