黑马程序员_IO流的总结
来源:互联网 发布:圆筒的体积怎么算c语言 编辑:程序博客网 时间:2024/05/16 06:09
几种IO流的区别:
字节流(可以传File和String类)
FileInputStreamFileOutputStream
字符转换流(实现字节流到字符流的转换,只能传字节流)
InputStreamReader
OutputStreamWriter
字符流(可以传字节流和String类)
FileReader
FlieWriter
字符流涉及到编码的问题
字符流=字节流+编码(GBK2312等)
字符串中的编码问题
编码
String -- byte[]
解码
byte[] -- String
IO流中的编码问题
A:OutputStreamWriter
OutputStreamWriter(OutputStream os):默认编码,GBK
OutputStreamWriter(OutputStream os,String charsetName):指定编码。
1:字符流(掌握)
(1)字节流操作中文数据不是特别的方便,所以就出现了转换流。
转换流的作用就是把字节流转换字符流来使用。
(2)转换流其实是一个字符流
字符流 = 字节流 + 编码表
(3)编码表
A:就是由字符和对应的数值组成的一张表
B:常见的编码表
ASCII
ISO-8859-1
GB2312
GBK
GB18030
UTF-8
C:字符串中的编码问题
编码
String -- byte[]
解码
byte[] -- String
(4)IO流中的编码问题
A:OutputStreamWriter
OutputStreamWriter(OutputStream os):默认编码,GBK
OutputStreamWriter(OutputStream os,String charsetName):指定编码。
B:InputStreamReader
InputStreamReader(InputStream is):默认编码,GBK
InputStreamReader(InputStream is,String charsetName):指定编码
C:编码问题其实很简单
编码只要一致即可
(5)字符流
Reader
|--InputStreamReader
|--FileReader
|--BufferedReader
Writer
|--OutputStreamWriter
|--FileWriter
|--BufferedWriter
2:IO流小结
IO流
|--字节流
|--字节输入流
InputStream
int read():一次读取一个字节
int read(byte[] bys):一次读取一个字节数组
|--FileInputStream
|--BufferedInputStream
|--字节输出流
OutputStream
void write(int by):一次写一个字节
void write(byte[] bys,int index,int len):一次写一个字节数组的一部分
|--FileOutputStream
|--BufferedOutputStream
|--字符流
|--字符输入流
Reader
int read():一次读取一个字符
int read(char[] chs):一次读取一个字符数组
|--InputStreamReader
|--FileReader
|--BufferedReader
String readLine():一次读取一个字符串
|--字符输出流
Writer
void write(int ch):一次写一个字符
void write(char[] chs,int index,int len):一次写一个字符数组的一部分
|--OutputStreamWriter
|--FileWriter
|--BufferedWriter
void newLine():写一个换行符
void write(String line):一次写一个字符串
close():也有刷新的作用,有区别。flush()以后该流对象还能使用,而close()就不能。
其实字节流到字符流中间有一个转换流InputStreamWriter
BufferReader/BufferWriter是字符缓存流,提供了缓存池,就不用一次一次的读写,提高效率。虽然都是提高效率,但是和
char[] chs=new char[1024];
int len=0;
while(len=br.read(chs)!=-1){
bw.write(chs,0,len)
}
这种方式的思路不同,但是效果是都能提高效率。这种方式是read和write方法提供的输入输出方式。
- 黑马程序员_IO流的总结
- 黑马程序员_IO流的总结
- 黑马程序员_IO流的一些总结
- 黑马程序员_IO流总结
- 黑马程序员_IO流总结
- 黑马程序员_IO总结
- 黑马程序员_IO流_流操作的总结
- 黑马程序员_IO流技术总结
- 黑马程序员_IO流知识总结
- 黑马程序员_IO流学习总结
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- 黑马程序员_IO流
- HTML5 拖放(Drag和drop)
- python 各种解析xml包使用方法总结
- python对XML的解析 SAX DOM ElementTree
- Ubuntu为Tomcat启用80端口
- JavaScript学习笔记(二)------摘自w3school
- 黑马程序员_IO流的总结
- c语言之小括号
- python网络爬虫实践出真知(1)
- sas默认语言修改
- DICOM:fo-dicom之C-STORE再分析‘解决System.ObjectDisposedException异常’
- NDK的用法
- hdu1506一维木板动归
- servlet小知识点(1)
- HTTP报文