java学生管理系统io流_Java IO的简易学生管理系统

比上一个基于Mysql数据库的完善了一些细节

3c3644a687fad96246874f68b6848ef0.png

WindowIO是窗口界面

package JavaStuIO;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.util.*;

//class student

class student implements java.io.Serializable{

String number;

String name;

String sex;

String birthday;

String department;

public student(String number,String name,String sex,String birthday,String department){

this.number = number;

this.name = name;

this.sex = sex;

this.birthday = birthday;

this.department = department;

}

}

public class WindowIO extends JFrame {

//private static final long serialVersionUID = -1928970409928880648L;

public static void main(String[] args){

/

TreeMap tm = new TreeMap(); //treemap

//

File file =new File("E:\\java用文件","file.txt");

if(!file.exists())

{

FileOutputStream fout = null;

ObjectOutputStream oos = null;

try{

fout = new FileOutputStream(file);

oos = new ObjectOutputStream(fout);

oos.writeObject(tm);

fout.close();

oos.close();

System.out.println("write ok!!!");

}catch (Exception er){

er.printStackTrace();

System.out.println("writeobject go die");

}

}

/

JFrame jframe = new JFrame("学生管理系统") ;

JLabel title = new JLabel("这是一个学生管理系统",JLabel.CENTER);

Font font = new Font("",Font.BOLD+Font.PLAIN,15);

title.setFont(font);

ImageIcon icon = new ImageIcon("E:\\java用图片\\look.jpg");

icon.setImage(icon.getImage().getScaledInstance(150, 150, Image.SCALE_DEFAULT));

JLabel pic = new JLabel(icon);

//pic.setSize(10, 10);

//pic.setSize(50,100);?????

//pic.drawImage(???,100, 100, 50, 50,null);

jframe.setSize(450,300);

jframe.setLocation(250,350);

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.setVisible(true);

JButton button1 = new JButton("添加");

JButton button2 = new JButton("修改");

JButton button3 = new JButton("查询");

JButton button4 = new JButton("删除");

JButton button5 = new JButton("浏览");

FlowLayout flow = new FlowLayout(FlowLayout.LEFT,10,10);

JPanel panel = new JPanel(flow);

panel.add(button1);

panel.add(button2);

panel.add(button3);

panel.add(button4);

panel.add(button5);

panel.add(title);

panel.add(pic);

jframe.add(panel);

try{

file.createNewFile();

System.out.println("creat ok!");

}

catch (IOException e){

System.out.println("creat go die!");

e.printStackTrace();

}

button1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Add add = new Add();

}

});

button2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Change change = new Change();

}

});

button3.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Ask ask = new Ask();

}

});

button4.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Delete delete = new Delete();

}

});

button5.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Look look = new Look();

}

});

}

}

Add是添加功能

package JavaStuIO;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.TreeMap;

import java.io.*;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import JavaStuIO.WindowIO;

public class Add extends JFrame{

JLabel jlnumber = new JLabel("学号:");

JLabel jlname = new JLabel("姓名:");

JLabel jlsex = new JLabel("性别:");

JLabel jlbirthday = new JLabel("出生日期:");

JLabel jldepartment = new JLabel("学院:");

JTextField jtnumber = new JTextField("",20);

JTextField jtname = new JTextField("",20);

JTextField jtsex = new JTextField("",20);

JTextField jtbirthday = new JTextField("",20);

JTextField jtdepartment = new JTextField("",20);

JButton buttonadd = new JButton("添加");

JButton buttonreturn = new JButton("返回");

public Add() {

//TreeMap tm = new TreeMap();

JPanel jpnumber = new JPanel();

JPanel jpname = new JPanel();

JPanel jpsex = new JPanel();

JPanel jpbirthday = new JPanel();

JPanel jpdepartment = new JPanel();

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

jpnumber.add(jlnumber);

jpnumber.add(jtnumber);

jpname.add(jlname);

jpname.add(jtname);

jpsex.add(jlsex);

jpsex.add(jtsex);

jpbirthday.add(jlbirthday);

jpbirthday.add(jtbirthday);

jpdepartment.add(jldepartment);

jpdepartment.add(jtdepartment);

jpforbutton.add(buttonadd);

jpforbutton.add(buttonreturn);

buttonadd.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

//Add

//File file =new File("E:\\java用文件","file.txt");

//

//String name = jtname.getText() + " ";

//String number = jtnumber.getText() + " ";

//String sex = jtsex.getText() + " ";

//String birthday = jtbirthday.getText() + " ";

//String department = jtdepartment.getText()+"\r\n";

//

//student stu = new student(number,name,sex,birthday,department);

//

//Writer out = null;

// try{

// out = new FileWriter(file,true);

// out.write(stu.number);

// out.write(stu.name);

// out.write(stu.sex);

// out.write(stu.birthday);

// out.write(stu.department);

//

//

// out.close();

// System.out.println("write ok!");

// }catch (IOException ee){

// System.out.println("write go die!");

// ee.printStackTrace();

//

// }

File file =new File("E:\\java用文件","file.txt");

FileInputStream fin = null;

ObjectInputStream ois = null;

try{

fin = new FileInputStream(file); //

ois = new ObjectInputStream(fin); //

TreeMap tm = (TreeMap)ois.readObject(); //???

fin.close();

ois.close();

//insert

String name = jtname.getText();

String number = jtnumber.getText();

String sex = jtsex.getText();

String birthday = jtbirthday.getText();

String department = jtdepartment.getText();

student stu = new student(number,name,sex,birthday,department);

FileOutputStream fout = null;

ObjectOutputStream oos = null;

try{

fout = new FileOutputStream(file); //

oos = new ObjectOutputStream(fout); //

tm.put(stu.number,stu);

oos.writeObject(tm);

fout.close();

oos.close();

System.out.println("write ok!!!");

JOptionPane.showMessageDialog(null,"世界线已经发生了变动 el psy congroo!");

}catch (Exception er){

er.printStackTrace();

System.out.println("writeobject go die");

}

//

}catch(Exception et){

System.out.println("go die!");

et.printStackTrace();

}

jtnumber.setText(null);

jtname.setText(null);

jtsex.setText(null);

jtbirthday.setText(null);

jtdepartment.setText(null);

//TreeMap tm = new TreeMap();

//String name = jtname.getText();

//String number = jtnumber.getText();

//String sex = jtsex.getText();

//String birthday = jtbirthday.getText();

//String department = jtdepartment.getText();

//

//student stu = new student(number,name,sex,birthday,department);

//

//

//

//FileOutputStream fout = null;

//ObjectOutputStream oos = null;

//try{

//fout = new FileOutputStream(file); //

//oos = new ObjectOutputStream(fout); //

//

//tm.put(stu.number,stu);

//

//oos.writeObject(tm);

//

//fout.close();

//oos.close();

//

//System.out.println("write ok!!!");

//

//

//}catch (Exception er){

//er.printStackTrace();

//System.out.println("writeobject go die");

//}

//

//jtnumber.setText(null);

//jtname.setText(null);

//jtsex.setText(null);

//jtbirthday.setText(null);

//jtdepartment.setText(null);

//add end

//

//

}}

);

buttonreturn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

}

});

this.setTitle("添加学生信息");

this.setLayout(new GridLayout(9,1));

this.add(jpnumber);

this.add(jpname);

this.add(jpsex);

this.add(jpbirthday);

this.add(jpdepartment);

this.add(jpforbutton);

this.setLocation(400,300);

this.setSize(350,300);

this.setVisible(true);

}

}

Ask是查询

package JavaStuIO;

import java.sql.*;

import java.util.TreeMap;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import JavaStuIO.WindowIO;

public class Ask extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

JLabel jlnumber = new JLabel("学号:");

JLabel jlname = new JLabel("姓名:");

JLabel jlsex = new JLabel("性别:");

JLabel jlbirthday = new JLabel("出生日期:");

JLabel jldepartment = new JLabel("学院:");

JTextField jtnumber = new JTextField("",20);

JLabel jname = new JLabel();

JLabel jsex = new JLabel();

JLabel jbirthday = new JLabel();

JLabel jdepartment = new JLabel();

JButton buttonask = new JButton("查询");

JButton buttonreturn = new JButton("返回");

public Ask() {

JPanel jpnumber = new JPanel();

JPanel jpname = new JPanel();

JPanel jpsex = new JPanel();

JPanel jpbirthday = new JPanel();

JPanel jpdepartment = new JPanel();

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

jpnumber.add(jlnumber);

jpnumber.add(jtnumber);

jpname.add(jlname);

jpname.add(jname);

jpsex.add(jlsex);

jpsex.add(jsex);

jpbirthday.add(jlbirthday);

jpbirthday.add(jbirthday);

jpdepartment.add(jldepartment);

jpdepartment.add(jdepartment);

jpforbutton.add(buttonask);

jpforbutton.add(buttonreturn);

buttonask.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

//ask

String number = jtnumber.getText();

File file =new File("E:\\java用文件","file.txt");

//TreeMap tm = new TreeMap();

FileInputStream fin = null;

ObjectInputStream ois = null;

try{

fin = new FileInputStream(file); //

ois = new ObjectInputStream(fin); //

TreeMap tm = (TreeMap)ois.readObject(); //???

student stu = (student)tm.get(number);

if(tm.containsKey(number))

{

jname.setText(stu.name);

jsex.setText(stu.sex);

jbirthday.setText(stu.birthday);

jdepartment.setText(stu.department);

}

else

{

System.out.println("number is not exist!");

JOptionPane.showMessageDialog(null,"学号:excuse me?",

"warning",JOptionPane.WARNING_MESSAGE);

}

fin.close();

ois.close();

}catch(Exception et){

System.out.println("go die!");

et.printStackTrace();

}

//end ask

}}

);

buttonreturn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

//Window window = new Window();

}

});

this.setTitle("查询学生信息");

this.setLayout(new GridLayout(9,1));

this.add(jpnumber);

this.add(jpname);

this.add(jpsex);

this.add(jpbirthday);

this.add(jpdepartment);

this.add(jpforbutton);

this.setLocation(400,300);

this.setSize(350,300);

this.setVisible(true);

}

}

Change是修改

package JavaStuIO;

import java.sql.*;

import java.util.TreeMap;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import JavaStuIO.WindowIO;

public class Change extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

JLabel jlnumber = new JLabel("学号:");

JLabel jlname = new JLabel("姓名:");

JLabel jlsex = new JLabel("性别:");

JLabel jlbirthday = new JLabel("出生日期:");

JLabel jldepartment = new JLabel("学院:");

JTextField jtnumber = new JTextField("",20);

JTextField jtname = new JTextField("",20);

JTextField jtsex = new JTextField("",20);

JTextField jtbirthday = new JTextField("",20);

JTextField jtdepartment = new JTextField("",20);

JButton buttonchange = new JButton("修改");

JButton buttonreturn = new JButton("返回");

public Change() {

JPanel jpnumber = new JPanel();

JPanel jpname = new JPanel();

JPanel jpsex = new JPanel();

JPanel jpbirthday = new JPanel();

JPanel jpdepartment = new JPanel();

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

jpnumber.add(jlnumber);

jpnumber.add(jtnumber);

jpname.add(jlname);

jpname.add(jtname);

jpsex.add(jlsex);

jpsex.add(jtsex);

jpbirthday.add(jlbirthday);

jpbirthday.add(jtbirthday);

jpdepartment.add(jldepartment);

jpdepartment.add(jtdepartment);

jpforbutton.add(buttonchange);

jpforbutton.add(buttonreturn);

buttonchange.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

String number = jtnumber.getText();

String name = jtname.getText();

String sex = jtsex.getText();

String birthday = jtbirthday.getText();

String department = jtdepartment.getText();

//change

File file = new File ("E:\\java用文件","file.txt");

FileInputStream fin = null;

ObjectInputStream ois = null;

try{

fin = new FileInputStream(file); //

ois = new ObjectInputStream(fin); //

TreeMap tm = (TreeMap)ois.readObject(); //???

fin.close();

ois.close();

//insert

if(tm.containsKey(number)){

student stu = new student(number,name,sex,birthday,department);

tm.put(stu.number,stu);

FileOutputStream fout = null;

ObjectOutputStream oos = null;

try{

fout = new FileOutputStream(file);

oos = new ObjectOutputStream(fout);

oos.writeObject(tm);

oos.close();

JOptionPane.showMessageDialog(null,"世界线已经发生了变动 el psy congroo!");

}catch (IOException er){

er.printStackTrace();

System.out.println("writeobject go die");

}

}

else{

System.out.println("number is not exist!");

JOptionPane.showMessageDialog(null,"学号:excuse me?",

"warning",JOptionPane.WARNING_MESSAGE);

}

//

}catch(Exception et){

System.out.println("go die!");

et.printStackTrace();

}

//TreeMap tm = new TreeMap();

jtnumber.setText(null);

jtname.setText(null);

jtsex.setText(null);

jtbirthday.setText(null);

jtdepartment.setText(null);

//change end

}

});

buttonreturn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

//Window window = new Window();

}

});

this.setTitle("修改学生信息");

this.setLayout(new GridLayout(9,1));

this.add(jpnumber);

this.add(jpname);

this.add(jpsex);

this.add(jpbirthday);

this.add(jpdepartment);

this.add(jpforbutton);

this.setLocation(400,300);

this.setSize(350,300);

this.setVisible(true);

}

}

Delete是删除功能

package JavaStuIO;

import java.sql.*;

import java.util.TreeMap;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.text.html.HTMLDocument.Iterator;

import java.io.*;

import JavaStuIO.WindowIO;

import JavaStuIO.Add;

public class Delete extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

//TreeMap tm = new TreeMap(); //treemap

JLabel jlnumber = new JLabel("学号:");

JTextField jtnumber = new JTextField("",20);

JButton buttondelete = new JButton("删除");

JButton buttonreturn = new JButton("返回");

public Delete() {

JPanel jpnumber = new JPanel();

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

jpnumber.add(jlnumber);

jpnumber.add(jtnumber);

jpforbutton.add(buttondelete);

jpforbutton.add(buttonreturn);

buttondelete.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

//delete

String number = jtnumber.getText();

File file =new File("E:\\java用文件","file.txt");

//TreeMap tm = new TreeMap();

FileInputStream fin = null;

ObjectInputStream ois = null;

try{

fin = new FileInputStream(file); //

ois = new ObjectInputStream(fin); //

TreeMap tm = (TreeMap)ois.readObject(); //???

//insert

if(tm.containsKey(number))

{

tm.remove(number); //remove

System.out.println("delete ok!!!");

jtnumber.setText(null);

FileOutputStream fout = null;

ObjectOutputStream oos = null;

try{

fout = new FileOutputStream(file); //

oos = new ObjectOutputStream(fout); //

oos.writeObject(tm); //

oos.close();

JOptionPane.showMessageDialog(null,"这个人已经不存在了呢 ");

}catch (IOException er){

er.printStackTrace();

System.out.println("writeobject go die");

}

}

else

{

System.out.println("number is not exist!");

JOptionPane.showMessageDialog(null,"学号:excuse me?",

"warning",JOptionPane.WARNING_MESSAGE);

}

//insert end

fin.close();

ois.close();

}catch(Exception et){

System.out.println("go die!");

et.printStackTrace();

}

// if(tm.isEmpty())

// {

// System.out.println("!!!!!!!!!!!!");

//

// }

//delete end E:\\java用文件","file.txt

}

});

buttonreturn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

//Window window = new Window();

}

});

this.setTitle("删除学生信息");

this.setLayout(new GridLayout(9,1));

this.add(jpnumber);

this.add(jpforbutton);

this.setLocation(400,300);

this.setSize(350,300);

this.setVisible(true);

}

}

Look是浏览功能

package JavaStuIO;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

import java.io.*;

import JavaStuIO.WindowIO;

public class Look extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

Connection conn = null;

PreparedStatement ps = null;

ResultSet res = null;

//JButton buttonlook = new JButton("浏览");

//JButton buttonreturn = new JButton("返回");

JTable jtable;

JScrollPane jscrollpane = new JScrollPane();

Vector columnNames = null;

Vector rowData = null;

public Look() {

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

columnNames = new Vector();

columnNames.add("学号");

columnNames.add("姓名");

columnNames.add("性别");

columnNames.add("出生日期");

columnNames.add("学院");

rowData = new Vector();

JTextArea jtext = new JTextArea(16,30);

//jpforbutton.add(buttonlook);

//jpforbutton.add(buttonreturn);

File file =new File("E:\\java用文件","file.txt");

FileInputStream fin = null;

ObjectInputStream ois = null;

try{

fin = new FileInputStream(file); //

ois = new ObjectInputStream(fin); //

TreeMap tm = (TreeMap)ois.readObject(); //???

//insert

if(tm.isEmpty())

{

System.out.println("nobody here!");

JOptionPane.showMessageDialog(null,"还没有人惹");

}

else

{

Set> tmSet = tm.entrySet();

Iterator> treeIt = tmSet.iterator();

while(treeIt.hasNext())

{

Map.Entry treeEntry = treeIt.next();

Vector hang = new Vector();

student stu = treeEntry.getValue();

hang.add(stu.number);

hang.add(stu.name);

hang.add(stu.sex);

hang.add(stu.birthday);

hang.add(stu.department);

rowData.add(hang);

}

}

//insert end

fin.close();

ois.close();

}catch(Exception et){

System.out.println("go die!");

et.printStackTrace();

}

jtable = new JTable(rowData,columnNames);

jscrollpane = new JScrollPane(jtable);

this.add(jscrollpane);

this.setTitle("浏览学生信息");

this.setLayout(new GridLayout(2,5));

this.add(jpforbutton);

this.setLocation(300,300);

this.setSize(500,300);

this.setVisible(true);

this.setResizable(false);

}

}

76199952a469afb8d0468188f80bd14e.png

2f52eebbb6aebb33631aa786a27bb543.png

9ce7ec601abbc57546ea74b92516efaa.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值