https://blog.csdn.net/qq_16605855/article/details/88570387
字节流
inputStream 和 outputStream
图片,音频,视频 等
InputStream is = new FileInputStream(file);
OutputStream is = new FileOutputStream (file);
字符流
reader 和 wirter
Reader reader = new FileReader(file);
Wirterwirter= new FileWirter(file);
高效字节流
BufferedInputStream 和 BufferedOutputStream
InputStream in = new BufferedInputStream(new FileInputStream(file));
OutputStream in = new BufferedOutputStream (new FileOutputStream (file));
高效字符流
BufferedReader 和 BufferedWriter
BufferedReader reader = new BufferedReader(new FileReader(file));
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
转换流
字符流转化成字节流
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in, "utf-8"));
BufferedWriter write = new BufferedWriter(new OutputStreamWriter(System.out));
数据流
DataInputStream和DataOutputStream
public static void DataStream() throws IOException {
//写入数据
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
//赋值
try {
dos.writeInt(1);
dos.writeUTF("cth");
dos.writeBoolean(true);
} catch (IOException e) {
e.printStackTrace();
}
byte[] datas = baos.toByteArray();
//读取数据
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(datas));
//拿值 按照赋值的顺序
int id = dis.readInt();
String name = dis.readUTF();
boolean flag = dis.readBoolean();
System.out.println(id+","+name+","+flag);
}
对象流 (序列化和反序列化)
public static void ObjectStream() throws IOException {
//写入数据
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream dos = new ObjectOutputStream(baos);
//赋值
try {
dos.writeObject("hello");
User user = new User(1,"cth",true);
dos.writeObject(user);
} catch (IOException e) {
e.printStackTrace();
}
byte[] datas = baos.toByteArray();
//读取数据
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(datas));
//拿值 按照赋值的顺序
try {
Object str = ois.readObject();
Object user = ois.readObject();
System.out.println(user);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
打印流
PrintWriter和PrintStream