objectstreamdemo.java
来自「java 教程相应的代码 全是自己写的内附注释 很容易看明白的」· Java 代码 · 共 73 行
JAVA
73 行
package demo.chapter.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ObjectStreamDemo {
public static void main(String[] args) {
System.out.println("请输入文件名:");
Scanner scan = new Scanner(System.in);
String filename = scan.nextLine();
User[] users = {
new User("Frank", 101),
new User("Jack", 102),
new User("May", 103)
};
writeObjectsToFile(users, filename);
User[] users = readObjectsFromFile(filename);
for (User user : users) {
System.out.printf("%s\t%d%n", user.getName(), user.getNumber());
}
}
public static void writeObjectsToFile(Object[] objs, String filename) {
File file = new File(filename);
try {
ObjectOutputStream output = new ObjectOutputStream(
new FileOutputStream(file));
for (Object obj : objs) {
output.writeObject(obj);
}
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static User[] readObjectsFromFile(String filename) {
File file = new File(filename);
List<User> result = new ArrayList<User>();
try {
FileInputStream fileInputStream = new FileInputStream(file);
ObjectInputStream input = new ObjectInputStream(fileInputStream);
while (fileInputStream.available() > 0) {
result.add((User) input.readObject());
}
input.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result.toArray(new User[result.size()]);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?