- PrintStream
- 构造函数:PrintStream(OutputStream out)
- 打印:void print(String s)
- 打印后换行: void println(String s)
- 刷新流: void flush()
- 关闭流: void close()
- PrintWriter
- 构造函数:PrintWriter(Writer out)
- 打印:void print(String s)
- 打印后换行: void println(String s)
- 刷新流: void flush()
- 关闭流: void close()
- 打印流和转换流实现模拟聊天
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintStream ps = new PrintStream(new FileOutputStream("./a.txt"));
while(true){
String str = br.readLine();
if("bye".equals(str)){
System.out.println("聊天结束");
break;
}
ps.println(str);
}
ps.close();
br.close();
ObjectOutputStream
- 只支持实现java.io.Serializable接口的对象
- 构造:ObjectOutputStream(OutputStream out)
- 将对象写入到输出流: void writerObject(Object obj)
- 关闭流: void close()
ObjectInputStream
- 构造:ObjectInputStream(InStream out)
- 从输入流中读取对象: Object readObject()
- 关闭流: void close()
transient修饰成员变量,表示该变量不参与序列化
希望将多个对象写入文件时,将多个对象放入一个集合中,然后将集合整体看作一个对象写入输出流中
RandomAccessFile

- write方法不是插入,会覆盖原字符
多线程
程序:存放在硬盘上的可执行文件
进程:运行在内存中的可执行文件
多线程采用时间片轮转法保证多个线程的并发执行
创建方式
- 自定义类继承Thread类并重写run方法,然后创建该类对象调用start()方法
- 自定义类实现Runnable接口并重写run方法,创建该类对象作为实参构造Thread类型对象,然后使用Thread类的对象调用start方法

run方法相当于普通方法的调用
start方法相当于又启动了一个线程调用run方法
版权声明:本文为fan2312原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。