A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-4-26 14:29 编辑

                        IO-标准流-转换流-打印流-对象流-Properties-...

IO流:
类字段:静态成员;
标准流:
public static final InputStream in;字节输入流(byte),获取键盘输入
InputStream in=System.in;
public static final PrintStream out;字节输出流,将数据写到命令行;
OutputStream out=System.out;
转换流:
打印流:
对象流:
读取文件到控制台:
String转byte两种方式:
  • byte[] getBytes();字符串转数组
  • BufferedWriter
  • BufferedReader


键盘录入(System.in),写到文件:
控制台是字节输入流,最终代码底层读写都是字符;(通过InputoutStreamReader)
byete[]转换成String
打印流:        --->        输出流
1.不能输出字节
2.自动换行
3.自动刷新
4.也是包装流, 类似于BufferedWriter, 自身没有写出功能
5.(PrintWriter)可以把字节转换成字符输出流
转换流:
转换流也是包装类, 需要传入实际的输入输出流对象
PrintStream:字节
PrintWriter:字符
对象操作流(都属于字节流)
定义学生类,重写toString()方法,将学生类实现Serializable接口,
Serializable序列化: 将对象的信息转换为可存储的信息的过程
<把学生对象写到文件>
//创建对象输出流
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("a.txt"));
//创建学生对象
//创建集合对象
//把对象添加到集合
//写出集合对象
oos.writeObject(list)
//释放资源
<读取学生对象并打印>
//创建对象输入流
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("a.txt"));
//读取集合对象
Object object = ois.readObject();
//强转为ArrayList
ArrayList<Student> list = (ArrayList<Student>) object;
//遍历集合打印学生对象
//释放资源
集合:Properties与IO流结合读取配置文件
Properties==Map;遍历有两种方式,keySet();entrySet();
Properties:属性列表中每个键值(都是Object类)都是字符串;
1.创建属性列表
2.添加映射关系
3.遍历属性列表
乱码:        查找编码表找不到对应的字符, 或找错了字符, 显示为错误字符.


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马