一.数据输入输出流:
DataOutputStream:
DateInputStream:
可以输出任何的Java基本数据类型。所以,读取的时候,要按照
写入时的字节数,读取。
二.内存操作流:
ByteArrayOutputStream:
ByteArrayInputStream:
byte[]数组的缓冲区;就是用来缓存byte[]数组
三.打印流:
1.字符流:PrintWriter:
2.字节流:PrintStream:
特点:
1.只有输出流,没有输入流;
2.可以读写任何的数据类型;
3.部分功能带自动刷新,换行;
4.可以操作文件;
3.标准输入输出流:
System.in : BufferedInputStream:
System.out: PrintStream;
四.字节流转换为字符流:(必须掌握)
字节流 --> 转换流 --> 字符流
PrintStream OutputStreamWriter BufferedWriter
PrintStream ps = System.in;
OutputStreamWriter out = new OutputStreamWriter(ps);
BufferedWriter bw = new BufferedWriter(out);
五.随机访问流:
RandomAccessFile:不属于"流"类。它内部封装了InputStream和OutputStream
对文件进行读写操作:
构造方法:
RandomAccessFile(String fileName,String mode):mode:"r"只读;"rw":读写;
成员方法:
writeXxxx();
readXxxxx();
getFilePointer():获取当前文件指针
seek():设置当前文件指针;
六.序列化和反序列化:
序列化:ObjectOutputStream:
注意:1.序列化的类必须实现:Serializable接口(标记接口)
2.添加一个成员变量:serialVersionUID
成员方法:
writeObject(Object obj):
反序列化:
ObjectInputStream:
成员方法:
readObject();
七.Properties类:
1.它就是一个Map集合,继承自:Hashtable;
2.继承的: pub(Object key,Object value) get(Object key) keySet()
特有的: setProperty(String key,String value) getProperty(String key) stringPropertyNames()
3.操作配置文件相关:
load(Reader read):读取配置文件的信息;
store(Writer out,String com):将集合中的数据写入到配置文件;
八.NIO的一个案例:
1.public static long copy(Path source, OutputStream out) :复制文件
2.public static Path write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options): |
|