您的位置:首页 > 运维架构

IO流的文件copy和目录copy

2015-05-04 14:06 120 查看
/**
* 实现功能:1.键盘输入文件名
* 	     2.复制文件和文件夹
*/
import java.io.*;
import java.util.Scanner;

public class TestCopy {
public static void main(String[] args) {
//键盘输入
Scanner input = new Scanner(System.in);
System.out.println("请输入读取文件名: ");
String str = input.next();
System.out.println("请输入目标文件名: ");
String str1 = input.next();
test1(str, str1);
}

public static void test1(String str, String str1){
File file1 = new File(str);
if(!file1.exists()){
System.out.println("您输入的文件不存在!!!");
return;
}
File file2 = new File(str1);
if(file1.isFile()){
InputStream fis = null;
OutputStream fos = null;
//新建输入输出流
try {
fis = new FileInputStream(str);
fos = new FileOutputStream(str1);
//中转站
byte [] bytes = new byte[1024];
int len = fis.read(bytes);
while(len != -1){
fis.read(bytes);
fos.write(bytes);
len = fis.read(bytes);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
else if(file1.isDirectory()){
if(!file2.exists()){
file2.mkdir();
}
String [] fileList;
fileList = file1.list();
for(int i=0;i<fileList.length;i++){
test1(str+"\\"+fileList[i],str1+"\\"+fileList[i]);
}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  io流