学生类
package com.it02;
public class Student {
private String id;
private String name;
private String age;
private String addr;
public Student() {
}
public Student(String id, String name, String age, String addr) {
this.id = id;
this.name = name;
this.age = age;
this.addr = addr;
}
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 getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public void show() {
System.out.println(id+","+name+","+age+","+addr);
}
}
主方法
package com.it02;
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;
import com.it02.Student;
public class StudentMangerIO {
public static void main(String[] args) throws IOException {
String fileName= "a.txt";
while(true) {
System.out.println("--------欢迎来到学生管理系统--------");
System.out.println("1-查看所有学生");
System.out.println("2-添加学生");
System.out.println("3-删除学生");
System.out.println("4-修改学生");
System.out.println("5-退出");
System.out.println("请输入你的选择:");
Scanner sc= new Scanner(System.in);
String choiceString = sc.nextLine();
switch(choiceString) {
case "1":
findAllStudent(fileName);
break;
case "2":
addStudent(fileName);
break;
case "3":
deletdStudent( fileName);
break;
case "4":
updateStudent(fileName);
break;
case "5":
default:
System.out.println("谢谢你的使用");
System.exit(0);
break;
}
}
}
public static void findAllStudent(String fileName) throws IOException{
ArrayList<Student> arr = new ArrayList<Student>();
FileToArrayList(arr, fileName);
if(arr.size()>0) {
System.out.println("学号"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"住处");
for(int x=0;x<arr.size();x++) {
Student s =arr.get(x);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddr());
}
}else {
System.out.println("不好意思,没有数据存在,请重新选择");
}
}
public static void addStudent(String fileName) throws IOException {
ArrayList<Student> arr = new ArrayList<Student>();
FileToArrayList(arr, fileName);
Scanner sc = new Scanner(System.in);
String id;
while (true) {
System.out.println("请输入学生学号:");
id = sc.nextLine();
boolean flag = false;
for (int x = 0; x < arr.size(); x++) {
Student s = arr.get(x);
if (s.getId().equals(id)) {
flag = true;
break;
}
}
if (flag) {
System.out.println("你输入的学号已被占用,请重新占用");
} else {
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age = sc.nextLine();
System.out.println("请输入学生住处:");
String addr = sc.nextLine();
Student s = new Student();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setAddr(addr);
arr.add(s);
ArrayListToFile(arr, fileName);
System.out.println("添加成功");
}
public static void deletdStudent(String fileName) throws IOException {
ArrayList<Student> arr = new ArrayList<Student>();
FileToArrayList(arr, fileName);
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String id = sc.nextLine();
int index = -1;
for (int x = 0; x < arr.size(); x++) {
Student s = arr.get(x);
if (s.getId().equals(id)) {
index = x;
break;
}
}
if (index == -1) {
System.out.println("用户不存在");
} else {
arr.remove(index);
System.out.println("成功");
}
ArrayListToFile(arr, fileName);
}
public static void updateStudent(String fileName) throws IOException {
ArrayList<Student> arr = new ArrayList<Student>();
FileToArrayList(arr, fileName);
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改学生的学号:");
String id = sc.nextLine();
int index = -1;
for (int x = 0; x < arr.size(); x++) {
Student s = arr.get(x);
if (s.getId().equals(id)) {
index = x;
break;
}
}
if (index == -1) {
System.out.println("用户不存在");
} else {
System.out.println("请输入学生新姓名:");
String name = sc.nextLine();
System.out.println("请输入学生新年龄:");
String age = sc.nextLine();
System.out.println("请输入学生新住处:");
String addr = sc.nextLine();
Student s = new Student();
s.setName(name);
s.setAge(age);
s.setAddr(addr);
arr.set(index, s);
System.out.println("修改成功");
}
ArrayListToFile(arr, fileName);
}
public static void FileToArrayList(ArrayList<Student> arr,String FileName) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(FileName));
String line;
while((line=br.readLine())!=null) {
String[] str=line.split(",");
Student s = new Student();
s.setId(str[0]);
s.setName(str[1]);
s.setAge(str[2]);
s.setAddr(str[3]);
arr.add(s);
}
br.close();
}
public static void ArrayListToFile(ArrayList<Student> arr,String FileName) throws IOException{
BufferedWriter bw = new BufferedWriter(new FileWriter(FileName));
for (int x=0;x<arr.size();x++) {
Student s = arr.get(x);
StringBuilder sb= new StringBuilder();
sb.append(s.getId()).append(",").append(s.getName()).append(",").append(s.getAge()).append(",").append(s.getAddr());
bw.write(sb.toString());
bw.newLine();
bw.flush();
}
bw.close();
}
}