- 转换流
- OutputStreamWriter
- InputStreamReader
java.io.outputstreamlwriter extends writer
outputStreamwriter:
是字符流通向字节流的桥梁:可使用指定的 charset将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂)
继承自父类的共性成员方法:
- void write(int c)写入单个字符。
- void write(char[]cbuf)写入字符数组。
- abstract void write(char[ ] cbuf,int off,int len)写入字符数组的某一部分, off数组的开始索引,len写的字符个数。
- void wwrite ( String str)写入字符串。
- void write(string str,int off,int len)写入字符串的某一部分, off字符串的开始索引, Len写的字符个数。- void flush()刷新该流的缓冲。
- void close(关闭此流,但要先刷新它。
构造方法:
- OutputStreamWriter (OutputStream out)创建使用默认字符编码的OutputStreamWriter
- OutputStreamWriter (OutputStream out,String charsetName)创建使用指定字符集的OutputStreamWriter 。
参数∶
OutputStream out:字节输出流,可以用来写转换之后的字节到文件中
string charsetName:指定的编码表名称,不区分大小写,可以是utf-8/UTF-8, gbk/GBK,… 不指定默认使用UTF-8
java.io.InputStreamReader extends Reader
InputStreamReader:
是字节流通向字符流的桥梁:它使用指定的 charset读取字节并将其解码为字符。(解码:把看不懂的变成看得懂的)
继承自父类的共性成员方法:
int read()读取单个字符并返回。
int read(char[ ] cbuf)一次读取多个字符,将字符读入数组。
void close()关闭该流并释放与之关联的所有资源。
构造方法:
InputStreamReader(InputStream in)创建一个使用黑认字符集的 InputStreamReader。
InputStreamReader(InputStream in,String charsetName)创建使用指定字符集的InputStreamReader。
参数:
InputStream in:字节输入流,用来读取文件中保存的字节
string charsetName :指定的编码表名称,不区分大小写,可以是utf-8/UTF-8,gbk/GBK …不指定默认使用UTF-8
使用步骤:
- 创建InputstreamReader对象,构造方法中传递字节输入流和指定的编码表名称
- 使用InputstreamReader对象中的方法read读取文件
- 释放资源
注意事项:
构造方法中指定的编码表名称要和文件的编码相同,否则会发生乱码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)