序列化对象+Properties+IO框架

序列化对象

对象序列化:以内存为基础,将内存中的对象存储到磁盘文件中,称为对象序列化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"));

猜你喜欢

转载自blog.csdn.net/m0_63203388/article/details/124283086