FileReader、FileWriter只能够用来处理文本文件,但对于非文本文件(图片、视频、音乐等),这两个类就没有能力处理了。对于非文本文件,我们需要使用xxxInputStream、xxxOutputStream这些类来处理。 复制图片 try ( FileInputStream fileInputStream = new FileInputStream("dir/1.jpg&q…
标准输入输出流、打印流、数据流作为了解知识。 标准输入、输出流 System.in和System.out分别代表了系统标准的输入和输出设备。默认的标准输入流为键盘、标准输出流为屏幕。 System.in是InputStream类型,而System.out是PrintStream,PrintStream是OutputStream的子类 重定向:通过System类的setIn,setOut方法对默认设…
RandomAccessFile 声明在java.io包下,但直接继承于java.lang.Object类。并且它实现了DataInput、DataOutput这两个接口,也就意味着这个类既可以读也可以写。 RandomAccessFile 类支持 “随机访问” 的方式,程序可以直接跳到文件的任意地方来读、写文件 支持只访问文件的部分内容 可以向已存在的文件后追加内容 RandomAccessFi…
Java NIO (New IO,Non-Blocking IO)是从Java 1.4版本开始引入的一套新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的)、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。 Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一…
多个 中间操作可以连接起来形成一个 流水线,除非流水线上触发终止操作,否则 中间操作不会执行任何的处理!而在 终止操作时一次性全部处理,称为“惰性求值”。 筛选与切片 方法 描述 filter(Predicate p) 接收 Lambda , 从流中排除某些元素 distinct() 筛选,通过流所生成元素的 hashCode() 和 equals() 去除重复元素 limit(long maxS…