今天讲的这个题: [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();
}
老师说不用加就可以了,但是不知道原理感觉怪怪的
|