A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.io.BufferedInputStream;
  2. import java.io.BufferedOutputStream;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.util.Scanner;

  8. public class Test1_Copy {

  9.         /**
  10.          * 在控制台录入文件的路径,将文件拷贝到当前项目下
  11.          *
  12.          * 分析:
  13.          *
  14.          * 1,定义方法对键盘录入的路径进行判断,如果是文件就返回
  15.          * 2,在主方法中接收该文件
  16.          * 3,读和写该文件
  17.          * @throws IOException
  18.          */
  19.         public static void main(String[] args) throws IOException {
  20.                 //获取文件对象
  21.                 File file = getFile();
  22.                 //创建输入流对象
  23.                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
  24.                                 file));
  25.                 //创建输出流对象,关联file文件的相同文件名对象
  26.                 BufferedOutputStream bos = new BufferedOutputStream(
  27.                                 new FileOutputStream("D:\\" + file.getName()));
  28.                 int b;
  29.                 while ((b = bis.read()) != -1) {
  30.                         bos.write(b);
  31.                 }
  32.                 System.out.println("复制成功!");
  33.                 bis.close();
  34.                 bos.close();
  35.         }

  36.         /*
  37.          * 定义一个方法获取键盘录入的文件路径,并封装成File对象返回
  38.          * 1,返回值类型File
  39.          * 2,参数列表无
  40.          */
  41.         public static File getFile() {
  42.                 //创建键盘录入对象
  43.                 Scanner sc = new Scanner(System.in);
  44.                 System.out.println("请输入一个文件路径:");
  45.                 //输入键盘录入的字符串并对其判断
  46.                 while (true) {
  47.                         String s = sc.nextLine();
  48.                         File file = new File(s);
  49.                         //字符串不可以为文件夹路径,或是不存在的路径
  50.                         if (!file.exists()) {
  51.                                 System.out.println("您输入的路径不存在,请重新输入:");
  52.                         } else if (file.isDirectory()) {
  53.                                 System.out.println("您输入的是文件夹路径,请重新输入:");
  54.                         } else {
  55.                                 return file;
  56.                         }
  57.                 }

  58.         }
  59. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马