对象流
ObjectInPutStream:反序列化
public class FanXu {
public static void main(String[] args) {
try (FileInputStream f=new FileInputStream("D:/a");){
ObjectInputStream o=new ObjectInputStream(f);
Object o1 = o.readObject();
System.out.println(o1);
} catch (Exception e) {
e.printStackTrace();
}
}
}
反序列写法
ObjectOutPutStream:序列化
public class XuLieHua {
public static void main(String[] args) {
User user = new User("xxx","12356");
try (FileOutputStream a=new FileOutputStream("D:/a");
ObjectOutputStream o=new ObjectOutputStream(a);
){
o.writeObject(user);
} catch (Exception e) {
e.printStackTrace();
}
}
}
序列化
注意点:
1.被序列化的类需要实现Serializable接口
public class User implements Serializable {
2.序列化的版本号long serialVersionUID设置 反序列化时版本必须相同否则无法反序列化。
private static final long serialVersionUID=1L;
3. transient 修饰符 不想被序列化的字段加上 这个修饰符。
只要实现了Seralizable 就加上序列化Id版本。
Flie 类
根据相同自动提供分隔符 File类提了一个常量:public static final String separator。.
File file=new File(pathname:"D:+File.separator+"a");
//File.separator
方法
获取文件绝对路径
file.getAbsolutePath()
获取父路径
file.getParent
获取最后一次修改的时间
System.out.println(file.LastModified());
Date date=new Date(file.LastModified());
System.out.println(date);
获取当前目录下的目录结构 的名字 包括文件和文件夹
String[]list file.list();
for (string eve:List)
System.out.println(eve);
}
获取当前目录下的目录结构 的文件 包括文件和文件夹
File[]files file.listFiles();
for (File eve:files)
System.out.println(eve.listFiles());
//递归 复制
判断是否是目录
file.isDirectory())
判断是否是文件
file.isFile());
判断是否存在
file.exists()
创建文件夹
file.mkdirs();
创建文件
file.createNewFile();
删除文件夹,文件
file.delete();