文件复制----JavaIO应用
程序员文章站
2024-03-04 15:44:53
...
文件复制----基于JavaIO实现
本例通过JavaIO的File类知识,字节流(Stream)知识实现电脑中文件(包括txt、图片、音乐等文件)的复制操作,废话不多说,直接上代码。
代码演示
package chapter_twelve;
import java.io.*;
import java.util.Scanner;
//文件的复制操作
public class Copy {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //实例化Scanner类对象sc,接收从键盘传输的数据
File inFile = null; //声明获取字节输入流的类文件
File outFile = null; //声明获取字节输出流的类文件
String in = null; //定义字节输入流的文件名称
String out = null; //定义字节输出流的文件名称
do{ //通过do...while()循环处理用户输入待拷贝文件异常情况
System.out.println("请输入源文件路径及文件名:");
in = sc.nextLine(); //输入源文件
inFile = new File(in); //实例化字节输入流文件类对象
if(!inFile.exists()){ //若此文件未存在,则重新输入
System.out.println("该文件不存在,无法进行复制,请重新输入:");
}else {
break; //否则跳出循环
}
}while (true);
System.out.println("请输入复制文件所到的路径及文件名:");
out = sc.nextLine(); //输入字节输出流的文件位置
try{
outFile = new File(out); //实例化字节输出流的文件类对象
InputStream inputStream = new FileInputStream(inFile); //实例化字节输入流对象
OutputStream outputStream = new FileOutputStream(outFile); //实例化字节输出流对象
int temp = 0; //定义临时存放字节的变量
while((temp = inputStream.read()) != -1){ //若输入流文件未读结束,则一直读
outputStream.write(temp); //输出流对象将读取的字节数据写入文件,诗仙了边读边写操作
}
inputStream.close(); //关闭字节输入流
outputStream.close(); //关闭字节输出流
System.out.println("文件复制成功!!!"); //输出文件复制成功信息
}catch (Exception e){
System.out.println("输入复制文件路径及文件名有误或其它错误,复制失败!!!"); //输出失败信息
}
}
}
代码执行前
代码执行后
请输入源文件路径及文件名:
D:\test.txt
请输入复制文件所到的路径及文件名:
D:\demo.txt
文件复制成功!!!
上一篇: 详解Java中字符流与字节流的区别