Java Io 字符流包含: 1. InputStreamReader  它是由byte流解析为char流,并且按照给定的编码解析. 2. OutputStreamWrite  它是char流到byte流的转换,并且按照给定的编码处理. 事例代码如下: package com.dcz.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.In…
作者: Jakob Jenkov  译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍缓冲与过滤相关的reader和writer,主要涉及BufferedReader.BufferedWriter.FilterReader.FilterWriter. BufferedReader 原文链接 BufferedReader能为字符输入流提供缓冲区,可以提高许多IO处理的速度.你可以一次读取一大块的数据,而不需要每次从网络或者磁盘中一次读取一个字节.特别是在访问大量磁盘数…
作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍管道与字符数组相关的reader和writer,主要涉及PipedReader.PipedWriter.CharArrayReader.CharArrayWriter. PipedReader 原文链接 PipedReader能够从管道中读取字符流.与PipedInputStream类似,不同的是PipedReader读取的是字符而非字节.换句话说,PipedReader用于读取管道…
今天继续学习字符流的子类!!!! 先来熟悉一下适配器设计模式:(手写的,,嘿嘿) 因为据说InputStreamReader 和OutputStreamWriter采用了适配器模式(现在我还没能理解,先记住) 1 InputStreamReader 是字节流转换成字符流的桥梁,使用指定的Chartset将将从底层读取的字节转换成字符返回到程序中,使用的字符集可以由名称指定或显示给定,或是默认字符集.本质使用其内部的一个类来完成所有工作:StreamDecoder.使用编码将字节转换成字符.Inp…
字节流:因为内存中数据都是字节,二进制数据. 字符流:方便处理文本数据.字符流是基于字节流的. ascii 编码表,并且各国都有自己的编码表. unicode码表,世界码表.优化后 utf-8码表. 创建文件,写入文件 代码健壮的书写方式,要做异常处理 已有文件的续写 文件读取(此示例中没有编写异常 控制.真正编程时需要加进去) 操作示例 兼容win 和 linux 的换行符 用   读取操作示例 LineNumberReader 是 一个增强类(装饰类) 获取文件行数(注意写代码时要抛IO异常…
FileWriter字符输出流演示: /* * FiileWriter 字符流的操作 * FileWriter 的构造方法 可传递 File类型 还可以传递String类型 * * 方法 : * write(int c) 传递一个字节 * write(char[] a ) 传递一个字符数组 * write(char[]a , 开始索引 , 传递几个) * write(String s) 传递一个字符串 * * 注意:写完之后一定要刷新缓冲区 不然数据 写入不进 * 对象.flush() * */…
Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| FileInputStream 读取文件的输入字节流.------------| BufferedInputStream 缓冲输入字节流. 该类内部其实就是维护了一个8kb(8192b)字节数组而已. 该类出现的目的是为了提高读取文件数据的效率. 输出字节流:---------| OutputStream…
1 按照用途进行分类 1.1 按照数据的来源(去向)分类 是文件:FileInputStream, FileOutputStream, FileReader, FileWriter 是byte[]:ByteArrayInputStream, ByteArrayOutputStream 是char[]:CharArrayReader, CharArrayWriter 是String:StringBufferInputStream(已过时,因为其只能用于String的每个字符都是8位的字符串), S…
Java IO 嵌套流.文本的输入输出和存储 @author ixenos 1.   组合流过滤器(嵌套流) a)    跨平台文件分割符:常量字符串 java.io.File.seperator 等效于windows”/” b)    通过嵌套流过滤器来添加多重功能 i. 首先要知道,基于装饰模式设计,过滤流的各个方法通常会递归调用基类的方法,如read.write.close.flush这些,因此流的嵌套顺序对于缓冲功能无影响,(只是对于直接输出格式的功能有影响) ii. DataInput…
Java IO 节点流 ByteArrayInput/OutputStream @author ixenos ByteArrayInputStream 包含一个内部缓冲区(字节数组byte[]),该缓冲区包含从流中读取的字节. 关闭 ByteArrayInputStream 无效.此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException.  #Constructors ByteArrayInputStream(byte[] buf) //使用创建者预设的buf作为其缓冲区数组,…