Java中转换流的使用

Java中转换流的使用,第1张

Java中转换流的使用
  • 转换流
    • OutputStreamWriter
    • InputStreamReader

转换流 OutputStreamWriter

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

InputStreamReader

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
使用步骤:

  1. 创建InputstreamReader对象,构造方法中传递字节输入流和指定的编码表名称
  2. 使用InputstreamReader对象中的方法read读取文件
  3. 释放资源

注意事项:
构造方法中指定的编码表名称要和文件的编码相同,否则会发生乱码

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/738427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存