每个功能写在一个类里面。
import java.io.IOException;
import java.util.*;;
public class Main {
static Scanner scanner = new Scanner(System.in);
static Add1 a = new Add1();
static Found f = new Found();
static Revise r = new Revise();
static Delete d = new Delete();
public static void main(String[] args) throws IOException {
System.out.println(" ***************");
System.out.println("*欢迎来到学生管理系统 *\n");
while(true) {
System.out.println("1.信息添加");
System.out.println("2.信息查看");
System.out.println("3.信息修改");
System.out.println("4.信息删除");
System.out.println("5.退出系统");
System.out.println("\n请输入你要进行的操作");
int choice = scanner.nextInt();
if(choice == 5) {
System.out.println("欢迎再次使用!");
break;
}
switch (choice) {
case 1: a.add();
break;
case 2: f.fw();
break;
case 3: r.revise();
break;
case 4: d.delete();
break;
}
}
}
}
/*添加信息----------------------------------------------------------------------------------------------------------*/
package Student;
import java.io.*;
import java.util.*;
public class Add1 {
//public static Set set = new HashSet<String>();
private String Number, Name, Sex;
private int flag = 0;
public void add() throws IOException {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("请输入:\n学号---姓名---性别");
File file = new File("d:\\学生管理系统.txt"); //存放数组数据的文件
FileWriter out = new FileWriter(file,true); //文件写入
Number = sc.next();
Name = sc.next();
Sex = sc.next();
out.write(Number+" "+Name+" "+Sex);
out.write("\r\n");
out.close();
System.out.println("是否继续增加学生信息?1--是/0--否");
flag = sc.nextInt();
if(flag == 0) {
System.out.println("增加完成!\n");
break;
}
}
}
}
/*查找信息-----------------------------------------------------------------------------------------------------------*/
package Student;
import java.io.*;
import java.util.Scanner;
public class Found {
public void fw() {
while(true) {
System.out.println("请输入要查询学生信息的学号:");
Scanner sc = new Scanner(System.in);
String Number = sc.next();
try {
/* 读入TXT文件 */
String pathname = "D:/学生管理系统.txt";
File filename = new File(pathname);
InputStreamReader reader = new InputStreamReader(new FileInputStream(filename)); // 建立一个输入流对象reader
BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言
String line = "";
line = br.readLine() ;
int count1 = 0;
while (line != null) {
String[] number = line.split(" ");
if(number[0].equals(Number)) {
count1 = 1;
System.out.println(line);
}
line = br.readLine(); // 一次读入一行数据
}
if(count1 == 0) {
System.out.println("学生系统中没有此人!");
}
System.out.println("是否继续查询?1--是/0--否\n");
int flag = sc.nextInt();
if(flag == 0) {
reader.close();
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/* 修改信息----------------------------------------------------------------------------------------------------------*/
package Student;
import java.io.*;
import java.util.Scanner;
public class Revise {
public void revise() {
while(true) {
System.out.println("请输入要修改的学生学号:");
Scanner sc = new Scanner(System.in);
String Number1 = sc.next();
try {
File filename = new File("D:/学生管理系统.txt");
InputStreamReader reader = new InputStreamReader(new FileInputStream(filename)); // 建立一个输入流对象reader
BufferedReader br = new BufferedReader(reader);
File files = new File("d:\\学生管理系统.txt"); //存放数组数据的文件
FileWriter out = new FileWriter(files,true); //文件写入
String s = "",file = "";
int count2 = 0;
s = br.readLine();
while(s != null) {
String[] number1 = s.split(" ");
if (number1[0].equals(Number1)) {
System.out.println("请输入要修改成的学号、姓名、性别:");
s = sc.next()+" "+sc.next()+" "+sc.next();
count2 = 1;
}
file += s + "\r\n";
s = br.readLine();
}
FileWriter out1 = new FileWriter(files); //文件写入
out1.close();
out.close();
reader.close();
if(count2 == 0) {
System.out.println("学生系统中没有该生!");
}
System.out.println("是否继续修改?1--是/0--否");
int flag = sc.nextInt();
if(flag == 0) {
System.out.println("修改成功");
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/*删除信息------------------------------------------------------------------------------------------------------------*/
public class Delete {
public void delete() {
while(true) {
System.out.println("请输入要删除学生信息的学号:");
Scanner sc = new Scanner(System.in);
String Number1 = sc.next();
try {
File filename = new File("D:/学生管理系统.txt");
InputStreamReader reader = new InputStreamReader(new FileInputStream(filename)); // 建立一个输入流对象reader
BufferedReader br = new BufferedReader(reader);
File files = new File("d:\\学生管理系统.txt"); //存放数组数据的文件
FileWriter out = new FileWriter(files,true); //文件写入
String s = "",file = "";
s = br.readLine();
int count = 0;
while(s != null) {
String[] number1 = s.split(" ");
if (!number1[0].equals(Number1)) {
file += s + "\r\n";
}else {
count = 1;
}
s = br.readLine();
}
FileWriter out1 = new FileWriter(files); //文件写入
out1.write(file);
out1.close();
out.close();
reader.close();
if(count == 1) {
System.out.println("学生系统中没有此人!");
}
System.out.println("是否继续删除?1--是/0--否");
int flag = sc.nextInt();
if(flag == 0) {
System.out.println("删除完成!\n");
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}