一.InputStream和Reader的区别 InputStream和Reader都可以用来读数据(从文件中读取数据或从Socket中读取数据),最主要的区别如下: InputStream用来读取二进制数(字节流),而 Reader用来读取文本数据,即 Unicode字符.那么二进制数与文本数据有什么区别呢?从本质上来讲,所有读取的内容都是字节,要想把字节转换为文本,需要指定一个编码方法.而 Reader就可以把字节流进行编码从而转换为文本.当然,这个转换过程就涉及编码方式的问题,它默认采用系…
在解释Java中FileInputStream和FileReader的具体区别之前,我想讲述一下Java中InputStream和Reader的根本差异,以及分别什么时候使用InputStream和Reader.实际上, InputStream和Reader都是抽象类,并不直接地从文件或者套接字(socket)中读取数据.然而,它们之间的主要差别在于:InputStream用于读取二进制数据(字节流方式,译者注),Reader用于读取文本数据(字符流方式,译者注),准确地说,Unicode字符.…
在解释Java中FileInputStream和FileReader的具体区别之前,我想讲述一下Java中InputStream和Reader的根本差异,以及分别什么时候使用InputStream和Reader.实际上, InputStream和Reader都是抽象类,并不直接地从文件或者套接字(socket)中读取数据.然而,它们之间的主要差别在于:InputStream用于读取二进制数据(字节流方式,译者注),Reader用于读取文本数据(字符流方式,译者注),准确地说,Unicode字符.…
InputStream,OutputStream  前者为字节输入流,后者为字节输出流.Reader   Writer  前者为字符输入流,后者为字符输出流. 四个均为抽象类.fileInputStream 是InputStream 的实现类  fileReader 是Reader 的实现类 字节流读取单位为一个字节,字符流读取单位为一个字符  所以读取汉字的时候,如果用字节流就会导致读出来乱码.这是最常用的地方  其他基本用法差不多.. BufferedInputStream是套在某个其他的I…
java.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别.即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组.弄清了两个超类的根本区别,再来看他们底下子类的使用,这里只对最常用的几个说明 InputStream    | __FileInputStre…
本文是基于Linux环境运行,读者阅读前需要具备一定Linux知识 InputStream包含如下三个方法: int read():从输入流中读取单个字节,返回所读取的字节数据(字节数据可直接转化为int类型) int read(byte[] b):从输入流中最多读取b.length个字节的数据,并将其存储在字节数组b中,返回实际读取的字节数 int read(byte[] b, int off, int len):从输入流中最多读取len个字节的数据,并将其存储在数组b中:放入数组b中时,并不…
流的方向: .输入流:数据源到程序(InputStream,Reader读进来). .输出流:程序到目的地(OutPutStream,Writer写出来). 处理数据单元: 字节流:按照字节读取数据(InputStream,OutPutStream). 字符流:按照字符读取数据(Reader,Writer) 功能不同: 节点流:可以直接从数据源或目的地读写数据. 处理流:不直接连接到数据源或者目的地,是处理流的流,通过对其他流的处理提高程序的性能. 处理流:增强功能,提供性能,处理流在节点流之上…
BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWriter,FileInputStream,FileReader,FileWriter,InputStreamReader每一种流都介绍到了,详细一目了然的详细 下面是字节流常见操作的四种方式: import java.io.BufferedOutputStream; import java.io.Fi…
FileInputStream提供了对文件的字节读取 用于读取诸如图像数据之类的原始字节流       如:FileInputStream fis=new FileInputStream(new File("D:\\123.txt"));//新建一个FileInputStream对象 FileReader提供了对文件的字符读取 从InputStreamReader类继承而来.该类按字符读取流中数据. FileWriter提供了对文件的字符写入 从OutputStreamReader类继…
java.io.InputStream & java.io.FileInputStream java.io.InputStream,这个抽象类是表示字节输入流的超类,这个抽象类的共性的方法有: 方法 作用 int read() 从输入流中读取数据的下一个字节,并返回,到末尾就返回-1 int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组b之中 void close() 关闭输入流,并释放与输入流相关的系统资源 java.io.FileInputStream…