【Java】 IO流的再次认识
来源:互联网 发布:skype 下载 mac版本 编辑:程序博客网 时间:2024/06/04 23:33
总体结构图
一.字节流和字符流的异同:
1 字节流是一个字节一个字节的读取数据。而字符流是一次读取一个或者多个字节时,先去查指定的编码表(UTF-8,GBK),然后再将字符返回。2 字节流可以处理所有的数据类型(图片,音频,AVI视频...)。字符流只能处理字符数据。所以,处理纯文本数据的时候,优先考虑使用字符流,除此之外,都使用字节流。
二.IO流大体可分为节点流和处理流:
1 节点流:可以从固定的地方或者节点来读取数据
File: FileReader,FileWriter。(字符流)
FileInputStream,FileOutPutStream。(字节流)
String:StringReader,StringWriter。(字符流)
....
2 处理流:对一个已经存在的流进行连接和封装,通过封装的流进行数据的读写操作。处理流的构造方法总是要带一个其他的流作为它的参数。一个流对其他流进行的多次包装也叫做流的链接。具体有:
2.1 缓冲流:
字节流:BufferedInputStream,BufferedOutPutStream。字符流:BufferedWriter,BufferedReader。(字节流同理)字符流写入:BufferedWriter bufw = new BufferedWriter(new FileWriter("test.txt"));(字节流同理) 字符流读取:BufferedReader buff = new BufferedReader(new FileReader("test.txt"));该类型的流有一个特有的方法:readLine();一次读一行,读到行标记时,将行标记之前的字符数据作为字符串进行返回,读到末尾时,返回NULL
2.2 转换流:
该类型是字符流和字节流的桥梁。该流的对象可以对读取数据的字节流按照设定的编码进行转换。读取流: (默认编码) InputStreamReader(new InputStream)(设定编码) InputStreamReader(new InputStream,String charSet)写入流: (默认编码) OutputStreamWriter(new OutputStream)(设定编码) OutputStreamWriter(new OutputStream,String charSer)比较: (默认编码) FileReader fr = new FileReader("test.txt"); ==== InputStreamReader isr = new InputStreamReader(new FileInputStream("test.txt"));(设定编码) FileReader fr = new FileReader("test.txt"); ==== InputStreamReader isr = new InputStreamReader(new FileInputStream("text.txt"),String charSet);
2.3 数据流:
该类型直接对一些基本类型的数据进行存储和读取,不需要进一步的住转换。
读取:DataInputStream(InputStream)
写入:DataOutputStream(OutputStream)
2.4 打印流:
PrintStream:是一个字节打印流接受3种数据类型的值:1.字符串类型 2.File对象 3.OutputStreamPrintWriter:是一个字符打印流接受4种数据类型的值: 1.字符串类型 2.File对象 3.OutpStream 4.Writer
2.5 对象流:
常用于try catch。
0 0
- 【Java】 IO流的再次认识
- java io的认识
- 再次认识java的序列化
- Java IO 流的初认识
- Java反射-再次认识
- epoll的再次认识
- meaurespec的再次认识
- epoll的再次认识
- 再次认识Java中构造器的初始化与继承
- JAVA——IO流的基本认识
- Java IO -- 序列化的高级认识
- 通过java的io流将本地文件读取到控制台,并将文件内容再次写入另一个文件中
- 关于标准IO流的一些认识
- 再次认识thinkphp的I方法
- java基础之IO流中的FileReader和FileWriter的认识和实现
- java基础之IO流中FileInputStream和FileOutputStream的认识和实现
- 彻底明白JAVA的IO系统-1(认识File)
- 从头认识java-16.3 IO的典型用法
- 1068 乌龟棋
- java接口回调
- Scrum不是万能药,要在时机成熟时推行
- Oracle dump函数的用法
- 2012年5月SAT香港真题解析
- 【Java】 IO流的再次认识
- 杭电oj problem1071 the area
- thinkphp 路径常量
- HDU 1495 非常可乐
- sws_getContext函数分析 for ffmpeg
- iOS开发系列--通知与消息机制
- 推荐!Html5精品效果源码分享
- redis的一些基本命令
- 2015-7-20