项目说明
通过给定两个文件对象,将一个文件中的全部内容复制到另一个对象中
完整代码
import java.io.*;
import java.util.Scanner;
public class demo3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要复制的文件路径");
String srcPath = scanner.next();
File srcFile = new File(srcPath);
System.out.println("请输入目标文件路径");
String destPath = scanner.next();
File destFile = new File(destPath);
if(!srcFile.isFile()){
System.out.println("输入源文件有bug");
return;
}
if(!destFile.getParentFile().isDirectory()){
System.out.println("输入目标文件有bug");
return;
}
try(InputStream inputStream = new FileInputStream(srcFile);
OutputStream outputStream = new FileOutputStream(destFile)){
while(true){
int ret = inputStream.read();
if(ret == -1){
break;
}
outputStream.write(ret);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
核心代码
try(InputStream inputStream = new FileInputStream(srcFile);
OutputStream outputStream = new FileOutputStream(destFile)){
while(true){
int ret = inputStream.read();
if(ret == -1){
break;
}
outputStream.write(ret);
}
} catch (IOException e) {
e.printStackTrace();
}
分别用InputStream和OutputStream打开源文件和目标文件,从源文件中读出一个字节,判断是否为-1,如果是,说明文章读到了末尾,跳出循环。如果不是就读到目标文件中