黑马程序员技术交流社区
标题:
IO流习题:录入文件的路径,将文件拷贝到当前项目下
[打印本页]
作者:
Zrz_K
时间:
2015-12-29 22:49
标题:
IO流习题:录入文件的路径,将文件拷贝到当前项目下
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;
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2