模拟BufferedInputStream,编写一个类 package toto.IO; import java.io.IOException; import java.io.InputStream; class MyBufferedInputStream{ private InputStream in; private byte[] buf = new byte[1024*4]; private int pos = 0,count = 0; MyBufferedInputStream(I…
Java流总结 一. 流的分类 • 按数据流动方向 – 输入流:只能从中读取字节数据,而不能向其写出数据 – 输出流:只能向其写入字节数据,而不能从中读取数据 • 按照流所处理的数据类型 – 字节流:用于处理字节数据. – 字符流:用于处理Unicode字符数据. • 按照流所处理的源 – 节点流:从/向一个特定的IO设备读/写数据的流.(低级流) – 处理流:对已存在的流进行连接和封装的流.(高级流) 二. 缓冲流 • 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓 冲的功能,提高了…
流的方向: .输入流:数据源到程序(InputStream,Reader读进来). .输出流:程序到目的地(OutPutStream,Writer写出来). 处理数据单元: 字节流:按照字节读取数据(InputStream,OutPutStream). 字符流:按照字符读取数据(Reader,Writer) 功能不同: 节点流:可以直接从数据源或目的地读写数据. 处理流:不直接连接到数据源或者目的地,是处理流的流,通过对其他流的处理提高程序的性能. 处理流:增强功能,提供性能,处理流在节点流之上…
字节流InputStream/OutputStream 本篇将对JAVA I/O流中的字节流InputStream/OutputStream做个简单的概括: 总得来说,每个字节流类都有一个对应的用途,如下: ByteArrayInputStream/ByteArrayOutputStream     //字节数组相关 FileInputStream/FileOutputStream                        //文件操作相关 PipedOutputStream/PipedIn…
InputStream,OutputStream  前者为字节输入流,后者为字节输出流.Reader   Writer  前者为字符输入流,后者为字符输出流. 四个均为抽象类.fileInputStream 是InputStream 的实现类  fileReader 是Reader 的实现类 字节流读取单位为一个字节,字符流读取单位为一个字符  所以读取汉字的时候,如果用字节流就会导致读出来乱码.这是最常用的地方  其他基本用法差不多.. BufferedInputStream是套在某个其他的I…
java.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别.即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组.弄清了两个超类的根本区别,再来看他们底下子类的使用,这里只对最常用的几个说明 InputStream    | __FileInputStre…
1.说明 InputStream和OutputStream是Java标准库中最基本的IO流,它们都位于java.io包中,该包提供了所有同步IO的功能. 2.模块:java.io.InputStream . java.io.OutputStream 3.用法 3.1.read&write 二者都不是接口,而是抽象类,它们分别是所有输入流和输出流的超类.这两个抽象类定义了两个最重要的方法: int read():读取输入流的下一个byte,返回该byte表示的int值(0~255).读到末尾,返回…
一.InputStream和Reader的区别 InputStream和Reader都可以用来读数据(从文件中读取数据或从Socket中读取数据),最主要的区别如下: InputStream用来读取二进制数(字节流),而 Reader用来读取文本数据,即 Unicode字符.那么二进制数与文本数据有什么区别呢?从本质上来讲,所有读取的内容都是字节,要想把字节转换为文本,需要指定一个编码方法.而 Reader就可以把字节流进行编码从而转换为文本.当然,这个转换过程就涉及编码方式的问题,它默认采用系…
1. InputStream,OutputStream都是抽象类,所以不能创建对象. 1个中文占两个字节 package com.ic.demo01; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputSt…
Reader: Reader的子类: 1.BufferedReader: FileReader 没有提供读取文本行的功能,BufferedReader能够指定缓冲区大小,包装了read方法高效读取字符流.提供字符.数组和行的高效读取. 开发文档中的介绍: 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求. 因此,建…