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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天讲的这个题:   
[Java] 纯文本查看 复制代码
public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个路径:");
		File file = null;
		while (true) {
			String line = sc.nextLine();
			
			//封装File对象
			file = new File(line);//注意:这里不需要转义,底层自动完成
			
			//判断是否是文件
			if (file.isDirectory()) {
				System.out.println("不是文件,请重新输入:");
			} else if (!file.exists()){
				System.out.println("不存在,请重写输入:");
			} else {
				break;
			}
		}
		//开流
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file.getName()));
		
		//定义一个字节缓冲数组
		byte[] by = new byte[1024];
		//定义一个有效长度
		int len = 0;
		
		//循环读与写,结束条件为读取结果为-1
		while ((len = bis.read(by)) != -1) {//一次读一个字符数组
			bos.write(by);//一次写一个数组
		}
		
		//关流
		bis.close();
		bos.close();
	}
老师说不用加就可以了,但是不知道原理感觉怪怪的

0 个回复

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