java基础笔记之其他流

知识点:
内存输出流: ByteOUtputStream:可以解决中文乱码问题
该输出流可以向内存中写数据, 内存当作一个 缓冲区, 写出之后可以一次性获取出所有数据
可以不关闭
特点:
将整个内存当做一个缓冲区,往里面写数据
写完毕后,可以一次性的从内存里面获取里面所有的数据
通过toByteArray() toString() 实现
成员方法:
toByteArray():创建一个新byte数组
toString(); 使用平台默认编码表,转成字符串,接收缓冲区的内容
练习:定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)
对象操作流:
ObjecOutputStream :对象输出流..... , 序列化流 ::: 将对象写在文件上,类似于 存档 的操作
如果想写出就必须实现一个接口 Serializable
writeObject():
ObjecInputStream: 对象输入流..... 序列化流 ::: 将对象写在文件上,类似于 读档 的操作
readObject():
数据操作流: //可以根据基本数据类型的大小(指的是其占得字节数)*来读数据
DateOutputStream :数据输出流
writeXxx();
DateInputStream: 数据输入流

readXxx();

打印流:
PrintStream:打印字节流(字节打印流)
PrintWriter:打印字符流(字符打印流)
特点:
1.可以很方便的将对象的toString()结果打印到控制台上,而且可以启用自动刷新(自动刷出)的功能(自动刷出只是针对println() 方法),
2.前提是,调用的是 println()方法.
3. 该流只操作 目的地文件.
标准输入输出流:
System.in: 标准的输入流,默认指向键盘,可以接受用户键盘录入的内容.
System.out: 标准的输出流,默认指向控制台,可以将数据打印到控制台上.
system.out:标准输入流,默认指向键盘,可以接受用户键盘录入内容
PrintStream ps = system.out:
//printstream ps = system.out; ps.println();
PrintStream: 打印的是字节流,
println()
write()
PrintlnWriter: 打印的是字符流
system.in:标准输出流,默认指向控制台,可以将数据打印到控制台上
InputStream is = system.in;//获取标准的键盘录入,默认指向键盘
输入流只有一个,可以不用关闭
成员方法:
System.setIn():修改输入流
System.setOut():修改输出流
System 类:
public static final InputStream in :返回值类型是 InputStream
public static final PrintStrem out :返回值类型是 PrintStrem

从键盘输入的两种方式:
方式一:
BbufferedReader br = new Bbuf1.feredReader(new InputStreanReader(systm.in));
方式二:
scanner sc = new scanner(system.in);

Properties: 双列集合:是Hashtable的子类,也是唯一一个可以和IO流 直接结合 使用的集合类
特点:
1.表示一个持久的属性集,
2.可以从流中加载数据也可以写数据到流中,
3.键值都是String
成员方法:
put():(setProperty())
get();(getProperty();)
keySet():(propertyNames() 返回值是枚举)
Enumeration: //相当于是 Iterator
hasMoreElements(); //相当于是 Iterator#hasNext()
nextElement(); //相当于是 Iterator#next()
重点掌握的方法:
load(): //从文件读取数据到集合中
properties prop = newproperties();
prop .load(new fileInputStream(文件名));//将文件读取到集合中
store()://可以写入数据到流中
第二个参数是对参数列表的描述
面试题:
记忆:
1.要想实现序列化和反序列化,必须实现 Serializable接口
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值