- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.Scanner;
- public class Test1_Copy {
- /**
- * 在控制台录入文件的路径,将文件拷贝到当前项目下
- *
- * 分析:
- *
- * 1,定义方法对键盘录入的路径进行判断,如果是文件就返回
- * 2,在主方法中接收该文件
- * 3,读和写该文件
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- //获取文件对象
- File file = getFile();
- //创建输入流对象
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
- file));
- //创建输出流对象,关联file文件的相同文件名对象
- BufferedOutputStream bos = new BufferedOutputStream(
- new FileOutputStream("D:\\" + file.getName()));
- int b;
- while ((b = bis.read()) != -1) {
- bos.write(b);
- }
- System.out.println("复制成功!");
- bis.close();
- bos.close();
- }
- /*
- * 定义一个方法获取键盘录入的文件路径,并封装成File对象返回
- * 1,返回值类型File
- * 2,参数列表无
- */
- public static File getFile() {
- //创建键盘录入对象
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入一个文件路径:");
- //输入键盘录入的字符串并对其判断
- while (true) {
- String s = sc.nextLine();
- File file = new File(s);
- //字符串不可以为文件夹路径,或是不存在的路径
- if (!file.exists()) {
- System.out.println("您输入的路径不存在,请重新输入:");
- } else if (file.isDirectory()) {
- System.out.println("您输入的是文件夹路径,请重新输入:");
- } else {
- return file;
- }
- }
- }
- }
复制代码
|
|