⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 student.java

📁 学生信息管理(JAVA文件操作),直接生成文件,并对文件进行操作
💻 JAVA
字号:
import java.io.*;
import java.awt.*;
import java.awt.Dialog;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import java.util.StringTokenizer;
public class Student extends JFrame implements ActionListener{


JTabbedPane dbTabPane;
  
JPanel viewPanel;//浏览
JPanel inputPanel;//添加
JPanel updatePanel;//修改
JPanel deletePanel;//删除
JPanel findPanel;//查找

Frame save1panel=new Frame();
Label filename1 =new Label("文件名1:");
TextField txt1=new TextField(8);
Button s1Btn=new Button("确定");


JButton inputBtn;
Luru inputInnerPanel;

JTextArea viewArea;
JButton viewBtn;

Luru updateInnerPanel;
JLabel updateInputLb1;
JTextField updateInputText;
JButton updateBtn;

Luru deleteInnerPanel;
JLabel inputNoLable;
JTextField inputNoField;
JButton deleteBtn;

JButton noBtn;
JButton jiguanBtn;
JButton nameBtn;
JButton saveBtn;
JTextField noText=new JTextField(8);
JTextField jiguanText=new JTextField(8);
JTextField nameText=new JTextField(8);
JTextArea resultArea;



public Student(){
   super("学生籍贯信息记录簿");
   setGUIComponent();
}
  
public void setGUIComponent(){
   Container c=getContentPane();
   c.setLayout(new BorderLayout());
   dbTabPane=new JTabbedPane();
  
   //定义保存
  
   save1panel.setLayout(new FlowLayout());
   save1panel.add(filename1);
   save1panel.add(txt1);
   save1panel.add(s1Btn);
   s1Btn.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
     String ss="";
     ss=resultArea.getText();
     String t1=txt1.getText();
     FileOutputStream out;
     PrintStream p;
     StringTokenizer t=new StringTokenizer(ss,"\n");
     String ss1="";
    try{
     out=new FileOutputStream(t1);
     p=new PrintStream(out);
     while(t.hasMoreTokens()){
      ss1=t.nextToken();
      p.println(ss1);
     }
     }catch(Exception e2){
      System.err.println("Error writing to file");
     }
     //p.close();
     save1panel.dispose();
    }
    });

  
   //定义浏览面板
   viewPanel=new JPanel();
   viewPanel.setLayout(new BorderLayout());
   viewArea=new JTextArea(6,35);
   viewBtn=new JButton("浏览");
   saveBtn=new JButton("保存");
   viewPanel.add(new JScrollPane(viewArea),BorderLayout.CENTER);
   viewPanel.add(viewBtn,BorderLayout.SOUTH);
   viewBtn.addActionListener(this);
   dbTabPane.add("浏览",viewPanel);
  
   //查找面板
   findPanel=new JPanel();
   findPanel.setLayout(new FlowLayout());
   noBtn=new JButton("按学号查找");
   nameBtn=new JButton("按姓名查找");  
   jiguanBtn=new JButton("按籍贯查找");
   saveBtn=new JButton("保存");
   resultArea=new JTextArea(6,35);
   noBtn.addActionListener(this);
   saveBtn.addActionListener(this);
   nameBtn.addActionListener(this);
   jiguanBtn.addActionListener(this);
   findPanel.add(noText);
   findPanel.add(noBtn);
   findPanel.add(nameText);
   findPanel.add(nameBtn);
   findPanel.add(jiguanText);
   findPanel.add(jiguanBtn);
   findPanel.add(resultArea);
   findPanel.add(saveBtn);
   dbTabPane.add("查找",findPanel);
  
   noText.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    
     }
    });
   nameText.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    
     }
    });
   jiguanText.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    
     }
    });
  
   //添加面板
   inputPanel=new JPanel();
   inputPanel.setLayout(new FlowLayout());
   inputBtn=new JButton("添加");
   inputBtn.addActionListener(this);
   inputInnerPanel=new Luru();
   inputPanel.add(inputInnerPanel);
   inputPanel.add(inputBtn);
   dbTabPane.add("添加",inputPanel);
  
  
   //定义修改面板
   updateInnerPanel=new Luru();
   updateInputLb1=new JLabel("输入学号:");
   updateInputText=new JTextField(8);
   updateInputText.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
     String s="";
     updateInputText.setText("s");
     }
    });
   updateBtn=new JButton("修改");
   updateBtn.addActionListener(this);
   updatePanel=new JPanel();
   updatePanel.add(updateInnerPanel);
   updatePanel.add(updateInputLb1);
   updatePanel.add(updateInputText);
   updatePanel.add(updateBtn);
  
   dbTabPane.add("修改",updatePanel);
  
   //定义删除界面
   deleteInnerPanel=new Luru();
   inputNoLable=new JLabel("输入学号:");
   inputNoField=new JTextField(8);
   inputNoField.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    
     }
    });
  
   deleteBtn=new JButton("删除");
   deleteBtn.addActionListener(this);
   deletePanel=new JPanel();
   deletePanel.add(deleteInnerPanel);
   deletePanel.add(inputNoLable);
   deletePanel.add(inputNoField);
   deletePanel.add(deleteBtn);
   dbTabPane.add("删除",deletePanel);
  
   c.add(BorderLayout.NORTH,dbTabPane);
   }
   //写文件方法
    static void writeData(Message[] e,PrintWriter out)
         throws IOException{
          out.println(e.length);
          int i;
          for(i=0;i<e.length;i++)
          e[i].writeData(out);
    }
   //读文件方法
    static Message[] readData(BufferedReader in)
          throws IOException{
           int n=Integer.parseInt(in.readLine());
              Message[] e=new Message[n];
           int i;
           for(i=0;i<n;i++){
            e[i]=new Message();
            e[i].readData(in);
           }
           return e;
           }
    
   public void viewRecord(){
   
     String ss="";
     ss+="学号\t"+"姓名\t"+"籍贯\n";
   try{//打开文件并从文件中读数据
    BufferedReader in1=new BufferedReader(new FileReader("student.txt"));
    Message[] e=readData(in1);
    for(int i=0;i<e.length;i++)
        {
         ss+=e[i].getno()+"\t";
         ss+=e[i].getname()+"\t";
         ss+=e[i].getjiguan();
         ss+="\n";
        }
    in1.close();
    }

   catch(IOException e){
    System.out.print("Error:"+e);
    System.exit(1);
    }
    viewArea.setText(ss);
    }
   
    public void noserch() //按学号查找
    {
    String s="";
    s=noText.getText();
    int ns=Integer.parseInt(s);
    String result="";
    result+="学号\t"+"姓名\t"+"籍贯\n";
    try{
     BufferedReader in=new BufferedReader(new FileReader("student.txt"));
     Message[] e=readData(in);
     for(int i=0;i<e.length;i++)
         {
      int pp=Integer.parseInt(e[i].getno());
         if(ns==pp)
          {
          result+=e[i].getno()+"\t";
          result+=e[i].getname()+"\t";
          result+=e[i].getjiguan()+"\n";
          }
         }
        in.close();
     }
    catch(IOException e){
    System.out.print("Error:"+e);
    System.exit(1);
    }
    resultArea.setText(result);
    }
   
    public void nameserch() //按姓名查找
    {
    String s="";
    s=nameText.getText();
   
    String result="";
    result+="学号\t"+"姓名\t"+"籍贯\n";
    try{
     BufferedReader in=new BufferedReader(new FileReader("student.txt"));
     Message[] e=readData(in);
     for(int i=0;i<e.length;i++)
         {
         int j=s.compareTo(e[i].getname());
         if(j==0)
          {
          result+=e[i].getno()+"\t";
          result+=e[i].getname()+"\t";
          result+=e[i].getjiguan()+"\n";
          }
         }
        in.close();
     }
    catch(IOException e){
    System.out.print("Error:"+e);
    System.exit(1);
    }
    resultArea.setText(result);
    }
    public void jiguanserch() //按籍贯查找
    {
    String s="";
    s=jiguanText.getText();
   
    String result="";
    result+="学号\t"+"姓名\t"+"籍贯\n";
    try{
     BufferedReader in=new BufferedReader(new FileReader("student.txt"));
     Message[] e=readData(in);
     for(int i=0;i<e.length;i++)
         {
         int j=s.compareTo(e[i].getjiguan());
         if(j==0)
          {
          result+=e[i].getno()+"\t";
          result+=e[i].getname()+"\t";
          result+=e[i].getjiguan()+"\n";
          }
         }
        in.close();
     }
    catch(IOException e){
    System.out.print("Error:"+e);
    System.exit(1);
    }
    resultArea.setText(result);
    }
   
    public void updateRecord(){   //修改
    String xno="";
    xno=updateInputText.getText();
    try{
     BufferedReader in=new BufferedReader(new FileReader("student.txt"));
     Message[] e=readData(in);
     for(int i=0;i<e.length;i++)
         {
         int j=xno.compareTo(e[i].getno());
         if(j==0)
          {
       String udno=updateInnerPanel.noField.getText();
       String udname=updateInnerPanel.nameField.getText();
       String udjiguan=updateInnerPanel.jiguanField.getText();
       e[i].changeno(udno);
       e[i].changename(udname);
       e[i].changejiguan(udjiguan);
       in.close();
       try{ //打开文件并写入文件
       PrintWriter out=new PrintWriter(new FileWriter("student.txt"));
       writeData(e,out);
       out.close();
       }
       catch(IOException e1){
       System.out.print("Error:"+e1);
       System.exit(1);
       }
      
          }
         }       
     }
   
    catch(IOException e){
    System.out.print("Error:"+e);
    System.exit(1);
    }
    }
    public void inputRecord(){   //添加

    try{
     BufferedReader in=new BufferedReader(new FileReader("student.txt"));
       Message[] e=readData(in);
       String udno=inputInnerPanel.noField.getText();
       String udname=inputInnerPanel.nameField.getText();
       String udjiguan=inputInnerPanel.jiguanField.getText();
       Message[] f=new Message[e.length+1];
       for(int i=0;i<e.length;i++){
        f[i]=e[i];
       }
       Message h=new Message(udno,udname,udjiguan);
       f[e.length]=h;
       in.close();
       try{ //打开文件并写入文件
       PrintWriter out=new PrintWriter(new FileWriter("student.txt"));
       writeData(f,out);
       out.close();
       }
       catch(IOException e1){
       System.out.print("Error:"+e1);
       System.exit(1);
       }
     }
   
    catch(IOException e){
    System.out.print("Error:"+e);
    System.exit(1);
    }
    }
    public void deleteRecord(){   //删除
    String xno="";
    xno=inputNoField.getText();
    try{
     BufferedReader in=new BufferedReader(new FileReader("student.txt"));
       Message[] e=readData(in);
       Message[] f=new Message[e.length-1];
       for(int i=0,j=0;i<e.length;)
          {
           int h=xno.compareTo(e[i].getno());
           if(h!=0)
           {
            f[j]=e[i];
            i++;j++;
           }
           else{
            i++;
           }
           }
         
       in.close();
       try{ //打开文件并写入文件
       PrintWriter out=new PrintWriter(new FileWriter("student.txt"));
       writeData(f,out);
       out.close();
       }
       catch(IOException e1){
       System.out.print("Error:"+e1);
       System.exit(1);
       }
    }catch(IOException e){
     System.out.print("Error:"+e);
     System.exit(1);
    }
    }
   
    public void saveRecord(){
     save1panel.show();
    }
   
    public void actionPerformed(ActionEvent e){
     if(e.getSource()==viewBtn){
      viewRecord();
      }
     else if(e.getSource()==noBtn){
      noserch();
      }
     else if(e.getSource()==nameBtn){
      nameserch();
      }
     else if(e.getSource()==jiguanBtn){
      jiguanserch();
      }
     else if(e.getSource()==updateBtn){
      updateRecord();
      }
     else if(e.getSource()==inputBtn){
      inputRecord();
      }
     else if(e.getSource()==deleteBtn){
      deleteRecord();
      }
     else if(e.getSource()==saveBtn){
      saveRecord();
      }
     }
    public static void main(String []args){
     Message[] s=new Message[10];
     s[0]=new Message("010","张唯唯","四川");
     s[1]=new Message("011","李勇","江西");
     s[2]=new Message("012","刘晨","四川");
     s[3]=new Message("013","王敏","湖南");
     s[4]=new Message("014","张小立","河北");
     s[5]=new Message("015","李玲","四川");
     s[6]=new Message("016","曹钰","内蒙古");
     s[7]=new Message("017","陈颖","江西");
     s[8]=new Message("018","许丽勤","福建");
     s[9]=new Message("019","李梅","上海");
    
    try{ //打开文件并写入文件
     PrintWriter out=new PrintWriter(new FileWriter("student.txt"));
     writeData(s,out);
     out.close();
    }
   catch(IOException e5){
    System.out.print("Error:"+e5);
    System.exit(1);
   }      
    Student sm=new Student();
    sm.setSize(650,250);
    sm.setVisible(true);
    sm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -