序列化对象
对象序列化:以内存为基础,将内存中的对象存储到磁盘文件中,称为对象序列化ObjectOutputStream
student s=new student();
ObjectOutputStream oos=new ObjectOutputStream(new fileOutputStream(""));
oos.writeObject(s);
oos.close();
对象反序列化:
ObjectInputStream is=new ObjectInputStream(new FileInputStream(""));
Student s=(Student)is.readObject();
Properties
(1)Properties其实就是一个Map集合,但是我们一般不会当集合使用,因为HashMap更好用。
(2)Properties代表的是一个属性文件,可以把自己对象中的键值对信息存入到一个属性文件中去。
(3)属性文件:后缀是.properties结尾的文件,里面的内容都是 key=value,后续做系统配置信息的。
Properties p=new Properties();
//存入键值对
p.setProperty("admin",123456);
//store的第一个参数:字符输出流管道(保存管道)
//第二个参数:保存心得
p.store(new FileWriter(""),"this is happy");
//加载属性文件中的键值对数据到p中去
p.load(new FileReader(""));
IO框架
commons-io是apache开源基金组织提供的一组有关IO操作的类库,可以提高IO功能开发的效率。commons-io工具包提供了很多有关io操作的类。有两个主要的类FileUtils, IOUtils.
// 完成文件复制!
IOUtils.copy(new FileInputStream("D:\\resources\\hushui.jpeg"),
new FileOutputStream("D:\\resources\\hushui2.jpeg"));
// 2.完成文件复制到某个文件夹下!
FileUtils.copyFileToDirectory(new File("D:\\resources\\hushui.jpeg"), new File("D:/"));
// 3.完成文件夹复制到某个文件夹下!
FileUtils.copyDirectoryToDirectory(new File("D:\\resources") , new File("D:\\new"));
FileUtils.deleteDirectory(new File("D:\\new"));
// JDK1.7 自己也做了一些一行代码完成复制的操作:New IO的技术
Files.copy(Path.of("D:\\resources\\hushui.jpeg"), Path.of("D:\\resources\\hushui3.jpeg"));
FileUtils.deleteDirectory(new File("D:\\new"));