inputstreamreader
InputStream:得到的是字节输入流,InputStream.read(“filename”)之后,得到字节流
Reader:读取的是字符流
inputstreamreader:从字节到字符的桥梁
InputStreamReader(InputStream.read(“filename”));
reader.read(InputStreamReader(InputStream in));便可从字节变为字符,打印显示了。
java.io.Reader 和 java.io.InputStream 组成了Java 输入类。
Reader 用于读入16位字符,也就是unicode 编码的字符;而 InputStream 用于读入 ASCII 字符和二进制数据。
Reader支持16位的Unicode字符输出,
InputStream支持8位的字符输出。
Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,
1byte = 8bits
InputStream、outputstream是用来处理8位元的流,
Reader、Writer是用来处理16位元的流。
而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用Reader和Writer。
值得说明的是,在这两种等级机构下,还有一道桥梁
InputStreamReader、outputstreamwriter负责进行InputStream到Reader的适配和由OutputStream到Writer的适配。
在 Java中,有不同类型的 Reader 输入流对应于不同的数据源:
FileReader 用于从文件输入; CharArrayReader 用于从程序中的字符数组输入; StringReader 用于从程序中的字符串输入; PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。
相应的也有不同类型的 InputStream 输入流对应于不同的数据源:fileinputstream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。
另外,还有两种没有对应 Reader 类型的 InputStream 输入流: socket 用于套接字; URLConnection 用于 URL 连接。 这两个类使用 getInputStream() 来读取数据。
相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。
相关阅读
淘宝有推出一款app,叫淘宝特价版,走的就是低价路线,商品涵盖生活方方面面,不知道您有没有注意过,那淘宝特价版怎么运营?与淘宝有什么区
String.equals()与String.equalsIgnoreCase( )区别
**String.equals()对大小写敏感! String.equalsIgnoreCase( )则忽略大小写** public static void main(String[] args) {
简单讲下postInvalidate和Invalidate的区别
invalidate 这里我们从源码中去简单扒一下View的invalidate()的方法: 1 /** 2 * Invalidate the whole v
现在,各大银行的信用贷款产品越来越多,网商银行也不例外。很多朋友一直都搞不清淘宝信用贷款和网商贷的区别。小编今天就为大家介绍
C#——读文件方法(Filestream、File、StreamReader)
方法一:使用Filestream,将文本一次性全部转换为字节,之后转换为string显示在text中OpenFileDialog fd = new OpenFileDialog();