- package com.heima.io;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.Scanner;
- public class Practice {
- /**
- * @throws IOException
- * @Title: main
- * @Description: TODO(这里用一句话描述这个方法的作用)
- * @param @param args 设定文件
- * @return void 返回类型
- * @throws
- */
- public static void main(String[] args) throws IOException {
- /** 在控制台录入文件的路径,将文件拷贝到当前项目下
- *
- * 分析:
- * 1,定义方法对键盘录入的路径进行判断,如果是文件就返回
- * 2,在主方法中接收该文件
- * 3,读和写该文件*/
- //2,在主方法中接收该文件
- File file = getFile();
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("555.txt"));
- byte[] arr = new byte[1024 * 8];
- int len;
- while ((len = bis.read(arr)) != -1) {
- bos.write(arr, 0, len);
- }
- //关流释放资源
- bis.close();
- bos.close();
- }
- public static File getFile() {
- //1,创建键盘录入对象
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入文件路径:");
- while (true) {
- String line = sc.nextLine();
- //将接收到的路径封装成File对象
- File file = new File(line);
- //对键盘录入的路径进行判断,如果是文件就返回
- if (file.isFile()) {
- System.out.println("对不起,您输入的是文件,请重新输入文件路径:");
- }else if (!file.exists()) {
- System.out.println("对不起,您输入的文件路径不存在,请重新输入文件路径:");
- }else {
- return file;
- }
- }
- }
- }
复制代码 |