公告通知
本公众号纯属个人公益公众号!只求能帮助到各位java初学者,公众号有一系列免费资源领取,供广大java初学者自学!也有微信交流群供大家学习讨论!!!大家可以多多关注!!!也可以对我们的文章可以多多留言,留下您的宝贵意见!!!
一、InputStreamReader类
一个inputstreamreader是桥从字节流字符流:将字节数组解码成文字使用指定的 charset。字符集,它使用可指定名称或可给予明确,或平台的默认字符集可以接受。
每次调用一个inputstreamreader的read()方法可能会导致一个或多个字节是从底层字节输入流中读取。为了使字节的有效转换为字符,更多的字节可以从底层流读取,而不是满足当前读操作的必要。
意思就是:InputStreamReader 将字节流转换为字符流。是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK。
构造方法:
InputStreamReader(InputStream in) 创建一个inputstreamreader使用默认字符集。获得。//读取键盘上的数据。 |
InputStreamReader(InputStream in, Charset cs) 创建一个inputstreamreader使用给定的字符集。 |
InputStreamReader(InputStream in, CharsetDecoder dec) 创建一个inputstreamreader使用给定的字符集解码。 |
InputStreamReader(InputStream in, String charsetName) 创建一个inputstreamreader使用指定的字符集。 |
方法
void |
close() 关闭流并释放与它相关联的任何系统资源。 |
String |
getEncoding() 返回此流使用的字符编码的名称。 |
int |
read() 读取单个字符。 |
int |
read(char[] cbuf, int offset, int length) 将字符读入一个数组的一部分。 |
boolean |
ready() 告诉是否该流已准备好阅读。 |
下面开始举例说明:
这里没有使用BufferedReader从一个字符输入流中读取文本,缓冲字符,以便提供字符、数组和行的有效读取。 可以指定缓冲区大小,也可以使用默认大小。默认是足够大的用于大多数目的。这里就留到作业里面做吧。
以上还有继承父类的方法,大家可以去看看api试试,使用方式几乎一样的。
二、matchOutputStreamWriter 类
一个outputstreamwriter是桥从字符流的字节流:将字符串编码为字节,使用指定的 charset。字符集,它使用可指定名称或可给予明确,或平台的默认字符集可以接受。
每次调用一个write()方法使编码转换器是在给定的字符调用(S)。将所得的字节在写入到底层输出流之前在缓冲区中积累。这个缓冲区的大小可以指定,但默认情况下,它是足够大的用于大多数目的。注意,传递给write()方法的特点是不缓冲。
意思就是:OutputStreamWriter 将字节流转换为字符流。是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK。
但是为了获得最好的效率,考虑包装outputstreamwriter在BufferedWriter从而避免频繁转换调用
构造方法
OutputStreamWriter(OutputStream out) 创建一个outputstreamwriter使用默认的字符编码。
OutputStreamWriter(OutputStream out, Charset cs) 创建一个outputstreamwriter使用给定的字符集。
OutputStreamWriter(OutputStream out,CharsetEncoder enc)创建一个outputstreamwriter使用给定的字符集编码。
OutputStreamWriter(OutputStream out,StringcharsetName)创建一个outputstreamwriter使用指定的字符集。
方法
close() 关闭流,冲洗它。
flush() 冲流。
getEncoding() 返回此流使用的字符编码的名称。
write(char[] cbuf, int off, int len) 写入一个字符数组的一部分。
write(int c) 写一个字符。
write(String str, int off, int len) 写入字符串的一部分。
代码演示:
这里使用了BufferedWriter将文本写入到字符输出流中,缓冲字符,以便提供对单个字符、数组和字符串的有效写入。 可以指定缓冲区大小,也可以接受默认大小。默认是足够大的用于大多数目的。它是和上面BufferedReader对应的。
以上还有继承父类的方法,大家可以去看看api试试,使用方式几乎一样的。
习题:使用OutputStreamWriter、InputStreamReader、BufferedWriter、BufferedReader来写一个文件的写入和输出。
答案公众号输入:“OutputStreamWriter”
扫码关注 ∣有捣乱者绕道
长按,识别二维码,加关注
注:本公众号纯属个人公益公众号!
不存在任何培训机构招生信息!!