一、类图
二、字符大小
- 一般来说一个字母占用一个字节,一个汉字占用两个字节。具体还要看字符编码,比如说在 UTF-8 编码下,一个英文字母(不分大小写)为一个字节,一个中文汉字为三个字节;在 Unicode 编码中,一个英文字母为一个字节,一个中文汉字为两个字节。
三、常用方法
InputStream
- int read(byte[] b, int off, int length) 从第off个字节开始读取长度为length的字节,放到数组b中
- long skip(long n) 跳过指定长度的字节
- int available() 返回可读取的字节长度
OutputStream
- void write(int b) 写入一个字节,虽然传入的是int类型,但是只会传入低八位,前24位舍弃
- void write(byte[] b, int off, int length) 在数组b中,从第off个字节开始,读取长度为length的字节
- void fluhsh() 强制刷新,将缓冲区数据写入
Reader
- int read(char[] b, int off, int length) 从第off个字符开始读取长度为length的字符,放到数组b中
- long skip(long n) 跳过指定长度的字符
Writer
- void write(char b) 写入一个字符
- void write(byte[] b, int off, int length) 在数组b中,从第off个字节开始,读取长度为length的字节
- void fluhsh() 强制刷新,将缓冲区数据写入
四、按照IO流操作的对象来进行分类
五、分别举例
package com.newJava;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class D154_InputOutputStream {
public static void main(String[] args) {
InputStream is = null;
String address = "E:\\d05_gitcode\\Java\\newJava\\src\\com\\newJava\\newFile.txt";
int b;
try {
is = new FileInputStream(address);
while ((b = is.read()) != -1) {
System.out.println((char)b);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
- 原文
六、源码:
- 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流