- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
行胜于言 敢为人先 和而不同 居安思危 * 按照功能(处理位置)流类可分为两种: 节点流(Node Stream) 节点流是最基本的流,可以单独使用,直接提供输入输出功能,不同的节点流用于从不同的地点进行输入输出 处理流(Processing Stream) 处理流是高级的流,不能单独使用,只能同节点流配合使用,用于增强流的功能。指FilterInputStream和FilterOutputStream及子类。它们分别用InputStream和OutputStream构造 行胜于言 敢为人先 和而不同 居安思危 * 行胜于言 敢为人先 和而不同 居安思危 * 节点流 行胜于言 敢为人先 和而不同 居安思危 * 用于文件 字节流:FileInputStream, FileOutputStream字符流:FileReader, FileWriter 创建输入流 FileInputStream (File file) throws FileNotFoundException FileInputStream (String name) throws FileNotFoundException FileInputStream (FileDescriptor fdObj) throws FileNotFoundException 行胜于言 敢为人先 和而不同 居安思危 * 读取数据 // 从输入流中读取一个数据字节int read () throws IOException // 从输入流中将最多b.length个字节数据读入byte数组int read (byte[] b) throws IOException // 从输入流中将最多len个字节数据读入byte数组int read (byte[] b, int off, int len) throws IOException 关闭流close() throws IOException使用流后必须要进行关闭操作 行胜于言 敢为人先 和而不同 居安思危 * 用于内存数组 实现类似于内存虚拟文件的功能字节流:ByteArrayInputStream, ByteArrayOutputStream 字符流:CharArrayReader, CharArrayWriter 创建输入流 ByteArrayInputStream(byte[] buf) ByteArrayInputStream(byte[] buf, int offset, int length) 指定仅使用数组buf中的从offset开始的length个元素作为数据源 行胜于言 敢为人先 和而不同 居安思危 * 创建输出流 ByteArrayOutputStream() 创建一个大小为32字节的缓冲区 ByteArrayOutputStream(int) 根据参数指定缓冲区的大小,当数据过多时可以自动增长 行胜于言 敢为人先 和而不同 居安思危 * 用于管道 主要用于完成线程之间的通信 字节流:PipedInputStream, PipedOutputStream 字符流:PipedReader, PipedWriter PipedInputStream和PipedOutputStream对象必须进行连接而产生一个通信管道, PipedOutputStream向其中写入数据, PipedInputStream从管道中读出数据 PipedOutputStream.connect(PipedInputStream) 行胜于言 敢为人先 和而不同 居安思危 * 原理类似于“生产者-消费者”的功能。管道一侧PipedOutputStream负责生产产品,管道另一侧负责PipedInputStream消耗产品。两侧共享PipedInputStream的buffer(默认1024字节)。还有两个变量in(生产量)和out(消耗量)。in为-1表示消费完了,in==out表示生产满了。当消费者没东西可消费的时候,也就是当in为-1的时候,消费者会一直等待,直到有东西可消费。 行胜于言 敢为人先 和而不同 居安思危 * 处理流 行胜于言 敢为人先 和而不同 居安思危 * 提供缓冲功能 字节流:BufferedInputStream, BufferedOutputStream 字符流:BufferedRea
文档评论(0)