这篇文章主要为大家详细介绍了Java实现学生信息管理系统IO版本,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的 学生信息管理系统IO版本代码实现(java),供大家参考
学生信息管理系统IO版本代码实现(java),供大家参考,具体内容如下
之前写过的一个学生信息管理系统是用集合类来写的,但是不能实现代码在文档中的存储功能,每次运行过后都得重新输入数据,无法做到保存的功能。
而用IO流进行学生信息管理系统的编写以后将数据存储在文本文件中,以后每次访问都可以访问到之前已经存到的数据,类似于数据库的一个存储功能(这里并没有用到Mysql数据库,仅仅是用文本文档来进行数据的一系列存储)
以下是代码的实现过程:
主类
package zjh;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.Scanner;public class StudentManageTest { public static void main(String[] args) throws IOException { String FileName = "students.txt"; while(true) { System.out.println("----欢迎来到学生信息管理系统----"); System.out.println("请输入你想要进行的操作"); System.out.println("1:查看所有学生信息"); System.out.println("2:添加学生信息"); System.out.println("3:删除学生信息"); System.out.println("4:修改学生信息"); System.out.println("5:退出"); Scanner scanner = new Scanner(System.in); String choice = scanner.nextLine(); switch (choice) { case "1": findAllStudents(FileName); break; case "2": addStudent(FileName); break; case "3": deleteStudent(FileName); break; case "4": updateStudent(FileName); break; case "5": default: System.out.println("正在退出系统,欢迎下次继续使用"); System.exit(0);//JVM退出 break; } } } //从文件中读数据到集合 public static void readData(String fileName,ArrayList array) throws IOException { //创建输入缓冲流对象 BufferedReader br = new BufferedReader(new FileReader(fileName)); String line; while((line=br.readLine())!=null) { String[] datas = line.split(","); Student s = new Student(); s.setId(datas[0]); s.setName(datas[1]); s.setAge(datas[2]); s.setAddress(datas[3]); array.add(s); } br.close(); } //把集合中的数据写入文件 public static void writeData(String fileName,ArrayList array) throws IOException { //创建输出缓冲流对象 BufferedWriter bw = new BufferedWriter(new FileWriter(fileName)); for(int x=0; x array = new ArrayList(); //从文件中把数据读取到集合中 readData(FileName, array); Scanner scanner = new Scanner(System.in); while(true) { System.out.println("请输入你要修改的学号:"); String id = scanner.nextLine(); int index = -1; for(int x=0; x array = new ArrayList(); //从文件中把数据读取到集合中 readData(FileName, array); Scanner scanner = new Scanner(System.in); while(true) { System.out.println("请输入你要删除的学号"); String id = scanner.nextLine(); int index = -1; for(int x=0; x array = new ArrayList(); //从文件中把数据读取到集合中 readData(FileName, array); Scanner scanner = new Scanner(System.in); String id; while(true) { System.out.println("请输入你要添加的学号:"); int flag =0; id = scanner.nextLine(); for(int x=0; x array = new ArrayList(); //从文件中把数据读取到集合中 readData(FileName, array); if(array.size()==0) { System.out.println("当前没有任何学生信息,请添加后再使用"); } System.out.println("学号姓名年龄居住地"); for(int x=0; xStudent类
package zjh;public class Student { private String id; private String name; private String age; private String address; public Student() { } public Student(String id, String name, String age, String address) { this.id = id; this.name = name; this.age = age; this.address = address; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }