使用对象操作流程,读写文件
生活随笔
收集整理的這篇文章主要介紹了
使用对象操作流程,读写文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.io.*;/*** 使用對象操作流程,讀寫文件*/
public class Demo1 {private static final File file = new File("operate/src/operate419/demo/demo2/user.txt");static {if (file.exists() || !file.canRead()) {try {System.out.println("===");boolean newFile = file.createNewFile();if (!newFile) {System.out.println("文件創建失敗,文件路徑錯誤");}} catch (IOException e) {e.printStackTrace();}}}public static void main(String[] args) {//寫入學生對象addUser();//讀取學生對象loadUser();}/*** 讀取學生對象*/private static void loadUser() {try (ObjectInputStream input = new ObjectInputStream(new FileInputStream(file))) {Object o = input.readObject();System.out.println(o);} catch (Exception e) {e.printStackTrace();}}/*** 寫入學生對象*/private static void addUser() {try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file))) {User user1 = new User(26, "張三");User user2 = new User(376, "李四");User user3 = new User(34, "王二麻子");out.writeObject(user1);out.writeObject(user2);out.writeObject(user3);} catch (IOException e) {e.printStackTrace();}}
}
import java.io.Serializable;public class User implements Serializable {private int age;private String name;@Overridepublic String toString() {return "User{" +"age=" + age +", name='" + name + '\'' +'}';}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;User user = (User) o;if (age != user.age) return false;return name != null ? name.equals(user.name) : user.name == null;}@Overridepublic int hashCode() {int result = age;result = 31 * result + (name != null ? name.hashCode() : 0);return result;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public User(int age, String name) {this.age = age;this.name = name;}public User() {}
}
總結
以上是生活随笔為你收集整理的使用对象操作流程,读写文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OPPO全新折叠屏曝光:120Hz小屏竖
- 下一篇: c语言 增删查 案例,C语言实现单链表的