字符字节流
来源:互联网 发布:办公鼠标推荐 知乎 编辑:程序博客网 时间:2024/06/06 01:29
分类
字节输入流
字节输出流
字符输入流
字符输出流
抽象基类
InputStream
OutputStream
Reader
Writer
访问文件
FileInputStream
FileOutputStream
FileReader
访问数组
ByteArrayInputStream
CharArrayReader
访问管道
PipedInputStream
PipedReader
访问字符串
StringReader
缓冲流
BufferedInputStream
BufferedReader
转换流
InputStreamReader
OutputStreamWriter
对象流
ObjectInputStream
抽象基类
FilterInputStream
FilterReader
打印流
PrintStream
推回输入流
PushbackInputStream
PushbackReader
特殊流
DataInputStream
结论:1、上面下划线的代表节点流,必须和指定的物理节点关联,抽象基类无法创建实例。
2、如果输入输出的是文本内容,则应该用字符流,如果是二进制的则应该使用字节流
3、字节流用byte[] bbur=new byte[]然后调用字节流进行封装read(bbuf);字符流则用char[] c=new char[32]数组进行封装
4、字节流可以通过InputStreamReader或OutputStreamWriter进行转换成相应的字符流
5、注意上面字节流虽然读取的是byte但是实际用read方法读入的是int类型,然后调用write方法的时候把int又转换成byte读取,OutputStream的write()方法参数可以是字节或者int,但往往write会截取8个二进制位(0-255),多余的位就抛弃。read的时候把byte强制转型为int,write的时候相反,主要是因为字节流如果读取的是byte的话那么八个字节如果是1111 1111的话表示-1,因为-1代表字节读取完全,所以会出错,假如向上转型为int则-1表示为0000.....(24个0)11111111,表示的是255,即读取的数据只能是0-255,不存在-1冲突的问题。
6、同样在字符流里面的char能表示0-65535,而int的数据宽度同样包含char,选取一个在不在char范围而又在int的范围表示文件结束(选了-1),所以read用int类型,然后-1的问题也可以很好的解决。
- 字符流&字节流
- 字节流&字符流
- 字节流、字符流
- 字符流-->字节流
- 字符流字节流
- 字节流/字符流
- 字节流 字符流
- 字节流,字符流
- 字节流字符流
- 输入输出 字节,字符流
- 字节字符流
- 字节流转字符流
- JAVA字节字符流
- 字符字节流
- 6.13字符字节流
- 字节字符流笔记
- 字节流转字符流
- 字节字符转换流
- BZOJ-1477 青蛙的约会 拓展欧几里德
- ListView加载不同布局时的复用及原理分析
- Ubuntu 14.04 LTS环境下编译 Webkit 内核(一)
- 全国信息学奥林匹克联赛(NOIP2011)复赛 提高组 day2 T2 聪明的质监员
- 如何学习Android及如何利用Android赚钱
- 字符字节流
- 蓝桥杯2015省赛第6题
- HDU 2717 Catch That Cow [BFS]
- 【C#】 .net入门之Windows窗体程序
- 软件工程都涉及哪些概念和名词?他们的关系如何 如何解释
- iOS开发之获取手机信息
- zookeeper使用和原理探究
- 第二天
- 线性表(顺序表,链表的表示和实现)