package com.heima.test;
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 test8 {
/**
* 在控制台录入文件的路径,将文件拷贝到当前项目下
* 分析:
* 1,定义方法对键盘录入的路径进行判断,如果是文件就返回
* 2,在主方法中接收该文件
* 3,读和写该文件
* @throws IOException
*/
public static void main(String[] args) throws IOException {
File file = getFile();
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file.getName()));
int a;
while ((a=bis.read())!=-1) {
bos.write(a);
}
bis.close();
bos.close();
}
public static File getFile(){
Scanner sc = new Scanner(System.in);
System.out.println("请录入一个文件路径:");
while (true) {
String line = sc.nextLine();
File file = new File(line);
if (!file.exists()) {
System.out.println("你输入的文件路径不存在,请重新输入!");
}else if (file.isDirectory()) { //小心写成!file.isDirectory()的格式!!
System.out.println("你输入的是文件夹路径,请重新输入!");
}else {
return file;
}
}
}
}
|
|