基础篇——序列化和文件的输入输出

本文详细介绍了Java中对象序列化的过程,包括如何使类实现Serializable接口以进行存储。同时,文章还涵盖了对象的解序列化方法。此外,内容还涉及到基础的文件读写操作,为读者提供了全面的序列化与文件操作知识。
摘要由CSDN通过智能技术生成

一、对象序列化(存储)

FileOutputStream fileStream = new FileOuputStream("file.ser");
ObjectOutputStream os = new ObjectOutputStream(fileStream);
os.writeObject(one);//Help one = new Help();
os.writeObject(two);
os.close();

当对象被序列化时,被该对象引用的实例变量也会被序列化,且所有被引用的对象都会被序列化。

要想类被序列化,必须实现Serializable:

public class Box implements Serializable{
private int x;
transient String y;
Animal a = new Animale();
...
}

public class Animal{
...
}
x会被保存;y不会被序列化,transient标记的变量被跳过;a不会,因为Animal类没有实现Serializable。

二、解序列化

FileInputStream fileStream = new FileInputStream("file.ser");
ObjectInputStream is = new ObjectInputStream(fileStream);
Object one = is.readObject();
Object two = is.readObject();
Help oneHelp = (Hlep)one;
Help twoHelp = (Hlep)two;
is.close();

三、文件读写

File myFile = new File("MyText.txt");
FileReader fileReader = new FileReader(myFile);
BufferedReader reader = new BufferedReader(fileReader);
while reader.readLine() != null
reader.close();

File myFile = new File("1.txt");
FileWriter fileWriter = new FileWriter(myFile);
BufferedWriter writer = new BufferedWriter(fileWriter);
writer.write("hello");
writer.close();

四、目录操作

File dir = new File("dir1");
dir.mkdir();
if(dir.idDirectory()){
String [] dirContents = dir.list();
for(int i = 0;i < dirContents.length;i++){
System.out.println(dirContents[i]);
}
}
System.out.println(dir.getAbsolutePath());
dir.delete();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值