1.文件操作:
在java中如何操作磁盘中的文件,java中把文件作为一个对象进行操作;
File类进行表示磁盘中的文件:
路径:
绝对路径:从磁盘的根目录进行表示
相对路径: 相对某一个参照物进行定位
路径的分隔符:包括:/\
File.searator 斜杠
File.pathSeparatorChar 冒号
2.如何创建一个文件对象;
File f = new File(path);
File f = new File(File parent, String child);
3.如何在磁盘使用java创建一个新文件
createNewFile();
mkdir;
mkdirs;
4.IO流:数据的传输
从方向上分:输入 和 输出(以计算机的内存)
从数据上分:字节流(字节为单位读取) 字符流(以字符为单位)
功能上分:节点流 包装流(经过处理的流,目的提高效率)
所有的流都来自于四个抽象类:
InputStream OutputStream --->字节流 (读任何文件)
Reader Writer --->字符流 (只能读写文本文件)
字节输入流:InputStream---> FileInputStream
读取文件:
1.创建一个流指向源文件;
2.利用read读取文件
字节输出流:OutputStream---> FileOutputStream
写文件:
1.创建一个流指向文件
2.利用write方法写数据
字符流:
Reader:
FileReader
Writer:
FileWriter
包装流:
BufferedReader
BufferedWriter
数组字节流:是操作数组的数据,和文件没有关系
ByteArrayInputStream
ByteArrayOutputStream
序列化:
对象流
ObjectOutputStream ObjectInputStream
static transient修饰的属性不能被序列列
Serializable : java.io.Serializable接口可以使我们的对象永久的持久化可以将一个对象(标志对象的类型)及其状态转换为字节码,
保存起来(可以保存在数据库,内存,文件等),然后可以在适当的时候再将其状态恢复(也就是反序列化), serialization
不但可以在本机做,而且可以经由网络操作。它自动屏蔽了操作系统的差异,字节顺序等
Externalizable 接口:实现此接口的类必须从写此接口的方法,然后可以使被transient修饰的变量序列化