0
点赞
收藏
分享

微信扫一扫

io实例



io实例_java




student.java


import java.io.Serializable;

public class Student implements Comparable<Student>,Serializable {
private int id;
private String name;
private int age;

public Student(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
}

@Override
public int compareTo(Student o) {
return id - o.getId();
}


}

studentManager.java


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.Collections;
import java.util.Scanner;

public class StudentManager {
private ArrayList<Student> al ;
private Scanner scanner;
private File file;
public StudentManager() {
al = new ArrayList<>();
file = new File("d://a.txt");
scanner = new Scanner(System.in);
}
public void init() {//录入数据
while(true) {
System.out.println("请输入id:");
int id = scanner.nextInt();
System.out.println("请输入name:");
String name = scanner.next();
System.out.println("请输入age:");
int age = scanner.nextInt();
Student student = new Student(id, name, age);
al.add(student);
System.out.println("是否继续!");
String choose = scanner.next();
if(choose.equals("n")) {
break;
}
}
}
//写入文件
public void write() {
try {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(al);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
//读取文件
@SuppressWarnings("unchecked")
public void read() {
try {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
al = (ArrayList<Student>) ois.readObject();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

}
//排序
public void sort() {
Collections.sort(al);
}
//打印数据
public void show() {
for(Student student : al) {
System.out.println(student);
}
}


}

Test.java


public class Test {

public static void main(String[] args) {
StudentManager manager = new StudentManager();
manager.init();
System.out.println("=========初始数据如下=========");
manager.show();
manager.write();
System.out.println("=========排序后数据如下=========");
manager.show();


}

}





举报

相关推荐

0 条评论