Chaesoo50 2021-06-23 17:30 采纳率: 50%
浏览 32
已采纳

用Java写了一个编程大赛报名系统,但是发现文件只能输入,无法读出

主函数

package test1;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class test1 extends JFrame {

    public static void main(String[] args) {
        xinxi2 my=new xinxi2();

        
        }
}


 

 

信息录入界面

package test1;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

public class xinxi2 extends JFrame {

    private static JTextField tf1;
    private static JTextField tf2;
    private static JTextField tf3;
    private static JTextField tf4;
    private static JTextField tf5;
    private static JTextField tf6;
    private static JTextField tf7;
    private static JTextField tf8;
    private static JTextField tf9;
    private static JTextField tf10;
    private static JTextField tf11;
    private static JTextField tf12;
    private static JButton btn1;
    private static JButton btn2;

    public void init() {
        setLayout(new FlowLayout());
        setTitle("编程大赛报名学生信息录入");
        setSize(1300, 250);
        setLocationRelativeTo(null);


    }

    public xinxi2() {
        JPanel p=new JPanel();
          JPanel p1=new JPanel();
          JPanel p2=new JPanel();
          JPanel p3=new JPanel();
             p.setLayout(new BorderLayout());

             p1.setLayout(new GridLayout(4,3));
             p2.setLayout(new FlowLayout());

             p1.add(new JLabel("学号"));
             tf1=new JTextField(20);
             p1.add(tf1);
             p1.add(new JLabel("姓名"));
             tf2=new JTextField(20);
             p1.add(tf2);
             p1.add(new JLabel("年龄"));
             tf3=new JTextField(20);
             p1.add(tf3);
             p1.add(new JLabel("性别"));
             tf4=new JTextField(20);
             p1.add(tf4);
             p1.add(new JLabel("班级"));
             tf5=new JTextField(20);
             p1.add(tf5);
             p1.add(new JLabel("联系电话"));
             tf6=new JTextField(20);
             p1.add(tf6);
             p1.add(new JLabel("身份证号")); 
             tf7=new JTextField(20);
             p1.add(tf7);
             p1.add(new JLabel("专业"));
             tf8=new JTextField(20);
             p1.add(tf8);
             p1.add(new JLabel("QQ号码"));
             tf9=new JTextField(20);
             p1.add(tf9);
             p1.add(new JLabel("简介"));
             tf10=new JTextField(20);
             p1.add(tf10);
             p1.add(new JLabel("备注"));
             tf11=new JTextField(10);
             p1.add(tf11);
             p1.add(new JLabel("电子邮箱"));
             tf12=new JTextField(10);
             p1.add(tf12);
            btn1=new JButton("保存");
            btn2=new JButton("取消");
             p1.add(tf12);
             p2.add(btn1);
             p2.add(btn2);


             this.setContentPane(p);
             p.add(p1,BorderLayout.CENTER);
             p.add(p2,BorderLayout.SOUTH);

          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          init();
          setVisible(true);

          btn1.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    int x=JOptionPane.showConfirmDialog(xinxi2.this, "是否保存?", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
                    if (x==JOptionPane.OK_OPTION) {
                        try {
                              cj();
                            test01();
                            JOptionPane.showConfirmDialog(xinxi2.this, "保存成功", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
                        xinxi2.this.dispose();
                        new xinxi2();
                        } catch (IOException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();

                        }
                }else{
                        JOptionPane.showConfirmDialog(xinxi2.this, "保存失败", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
                }

                }
            });
          btn2.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    new shuru4();
                    xinxi2.this.dispose();

                }
            });
    }
    
    public static void test01() throws IOException{
        String name ="D:\\wenben.txt"+tf1.getText()+".txt";

        OutputStream os=new FileOutputStream(name);
    os.write("学号:".getBytes());
    os.write(tf1.getText().getBytes());
    os.write("。".getBytes());
      os.write("姓名:".getBytes());
      os.write(tf1.getText().getBytes());
      os.write("。".getBytes());
      os.write("年龄:".getBytes());
      os.write(tf2.getText().getBytes());
      os.write("。".getBytes());
      os.write("性别:".getBytes());
      os.write(tf3.getText().getBytes());
      os.write("。".getBytes());
      os.write("班级:".getBytes());
      os.write(tf4.getText().getBytes());
      os.write("。".getBytes());
      os.write("联系电话:".getBytes());
      os.write(tf5.getText().getBytes());
      os.write("。".getBytes());
      os.write("身份证号:".getBytes());
      os.write(tf6.getText().getBytes());
      os.write("。".getBytes());
      os.write("专业:".getBytes());
      os.write(tf7.getText().getBytes());
      os.write("。".getBytes());
      os.write("QQ号码:".getBytes());
      os.write(tf8.getText().getBytes());
      os.write("简介:".getBytes());
      os.write(tf9.getText().getBytes());
      os.write("。".getBytes());
      os.write("备注:".getBytes());
      os.write(tf10.getText().getBytes());
      os.write("。".getBytes()); 
      os.write("电子邮箱:".getBytes());
      os.write(tf11.getText().getBytes());
      os.write("。".getBytes());
      os.close();
        
    }
    public static void cj(){
        File f1=new File("D:\\wenben.txt");
        f1.mkdir();
    }
    
    
}

显示界面

package test1;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class shuru4 extends JFrame {
    public void xianshi7(){
        
    }
    private JButton btn1;
    private JButton btn2;
    private JButton btn3;
    private JButton btn4;
    private JButton btn5;
    public void init(){
        setLayout(new FlowLayout());
        setTitle("选择");
        setSize(275, 405);
        setLocationRelativeTo(null);
    }
    public void add(){
        btn1=new JButton("录入报名编程大赛学生的信息");
        btn1.addActionListener((ActionListener) new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                new xinxi2();
                shuru4.this.dispose();

            }
        });
        btn2=new JButton("查找学生信息");
        btn2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                new chazhao6();
                shuru4.this.dispose();
            }
        });

        btn3=new JButton("删除报名学生信息");
       btn3.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
         new shanchu5();
         shuru4.this.dispose();

        }
    });

       btn4=new JButton("退出编程大赛报名系统");
      btn4.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            int x=JOptionPane.showConfirmDialog(shuru4.this, "是否退出系统?", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
            if(x==JOptionPane.OK_OPTION){


                System.exit(0);
            }

        }
    });
      
      btn5=new JButton("显示全部学生信息");
       btn5.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
         new shanchu5();
         xianshi7();
        }
    });

         add(btn1);
         add(btn2);
         add(btn3);
         add(btn4);
         add(btn5);

        }
    public JPanel getFilePanel(){
        JPanel p=new JPanel();
        p.setLayout(new FlowLayout());
        p.add(new JLabel("选择你要进行的操作!"));
        return p;
        }
    public shuru4() {
        JPanel cp=(JPanel) getContentPane();
        cp.setLayout(new FlowLayout());
        cp.add(getFilePanel());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        init();
        add();
        setVisible(true);
    }
    
    }

删除界面

package test1;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

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 javax.swing.border.EmptyBorder;

public class shanchu5 extends JFrame {
    private JButton btn1;
    private JButton btn2;
    private JTextField tf;

    public void init() {
        setLayout(new FlowLayout());
        setTitle("编程大赛报名学生信息删除系统");
        setSize(500, 500);
        setLocationRelativeTo(null);
    }
    public void add(){
         btn1=new JButton("确定");
            btn1.addActionListener(new ActionListener() {

                @Override


                    public void actionPerformed(ActionEvent e) {

                            test02();


                }

            });


            btn2=new JButton("取消");
            btn2.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    new shuru4();
                    shanchu5.this.dispose();
                }
            });

        add(btn1);
        add(btn2);

    }
    public  JPanel getFilePanel(){
        JPanel p=new JPanel();
         p.setLayout(new FlowLayout());
         p.add(new JLabel("请输入要删除的报名学生的名字"));
         tf=new JTextField(10);
         p.add(tf);
         return p;

    }
    
    public shanchu5(){
         JPanel cp=(JPanel) getContentPane();
            cp.setLayout(new FlowLayout());
            cp.add(getFilePanel());
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            add();
            init();

            setVisible(true);
    }
    
    public void test02(){
        String name ="D:\\\\wenben.txt" +tf.getText()+ ".txt";
        //File f=new File(name);
        File f=new File("D:\\\\wenben.txt");
        String fname []=f.list();
        File f1=new File(name);
        boolean b=false;
        for(String s:fname){

            if (s.equals(tf.getText()+".txt")) {    
                int y=JOptionPane.showConfirmDialog(shanchu5.this, "是否删除",
                "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
                if (y==JOptionPane.OK_OPTION ) {
                    f1.delete();

                    JOptionPane.showConfirmDialog(shanchu5.this, "删除成功", 
                "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
                    shanchu5.this.dispose();
                    new shanchu5();
                    b=true;
                }

            }

             }
        if(!b){
            JOptionPane.showConfirmDialog(shanchu5.this, "是否删除?", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);

            JOptionPane.showConfirmDialog(shanchu5.this, "删除失败:报名学生信息不存在", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
            shanchu5.this.dispose();
            new shanchu5();
        }

    }
    
}


 

 

查询

package test1;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

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 javax.swing.border.EmptyBorder;

public class chazhao6 extends JFrame {
    private JButton btn1;
    private JButton btn2;


      private JTextField tf;

    public void init() {

        setLayout(new FlowLayout());
        setTitle("编程大赛报名学生信息查看系统");
        setSize(500, 500);
        setLocationRelativeTo(null);

    }

    public void add(){
         btn1=new JButton("确定");
            btn1.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    int x=JOptionPane.showConfirmDialog(chazhao6.this, "是否查看", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
                    if (x==JOptionPane.OK_OPTION) {
                    try {
                        ck();
                        chazhao6.this.dispose();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }else{
                    JOptionPane.showConfirmDialog(chazhao6.this, "查看失败", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
                    new chazhao6();
                }
                }
            });


            btn2=new JButton("取消");
            btn2.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    chazhao6.this.dispose();
                    new shuru4();

                }
            });

        add(btn1);
        add(btn2);


    }

    public  JPanel getFilePanel(){
         JPanel p=new JPanel();
         p.setLayout(new FlowLayout());
         p.add(new JLabel("请输入要查找报名学生的名字"));
         tf=new JTextField(10);
         p.add(tf);
         return p;
    }
    
    
    
    public chazhao6(){
        JPanel cp=(JPanel) getContentPane();
        cp.setLayout(new FlowLayout());
        cp.add(getFilePanel());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add();
        init();

        setVisible(true);
    }

    public void ck() throws IOException {
        File f=new File("D:\\\\wenben.txt");
        String fname []=f.list();
        boolean b=false;
        for(String s:fname){
            if (s.equals(tf.getText()+".")) {
                new xianshi7(tf.getText()+".");
              b=true;
            }
            }
        if (!b) {
            JOptionPane.showConfirmDialog(chazhao6.this, "查看失败:报名学生信息不存在", "系统提示", JOptionPane.OK_CANCEL_OPTION,JOptionPane.CANCEL_OPTION);
            new chazhao6();
        }
            chazhao6.this.dispose();

    }


}


显示

package test1;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class xianshi7 extends JFrame {


    private String xb;
     private String bj;
     private String dh;
     private String sj;
     private String dzyx;
     private String txdz;
     private String yzbm;

     private JButton btn1;
    private JButton btn2;


        public void init() {

            setLayout(new FlowLayout());
            setTitle("编程大赛报名学生信息");
            setSize(500, 500);
            setLocationRelativeTo(null);


        }

       public void add(){
             btn1=new JButton("退出");
                btn1.addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {

                        System.exit(0);
                    }
                });


                btn2=new JButton("返回");
                btn2.addActionListener(new ActionListener() {

                    public void actionPerformed(ActionEvent e) {
                        xianshi7.this.dispose();
                        new chazhao6();

                    }
                });


       }


    public xianshi7(String name) throws IOException {


        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        init();
         add();
         dq(name);
    setVisible(true);

    JPanel p=new JPanel();
    JPanel p1=new JPanel();
    JPanel p2=new JPanel();
    JPanel p3=new JPanel();
    JPanel p4=new JPanel();
    setContentPane(p);

    p.setLayout(new BorderLayout());
    p1.setLayout(new GridLayout(8,1));
    p2.setLayout(new FlowLayout());

    p1.add(new JLabel(w0));
    p1.add(new JLabel(w1));
    p1.add(new JLabel(w2));
    p1.add(new JLabel(w3));
    p1.add(new JLabel(w4)); 
    p1.add(new JLabel(w5));
    p1.add(new JLabel(w6));
    p1.add(new JLabel(w7));
    p2.add(btn1);
    p2.add(btn2);

    p.add(p1,BorderLayout.CENTER);
    p.add(p2,BorderLayout.SOUTH);
    p.add(p3,BorderLayout.EAST);
    p.add(p4,BorderLayout.WEST);
    }
    String w0=null;
    String w1=null;
    String w2=null;
    String w3=null;
    String w4=null;
    String w5=null;
    String w6=null;
    String w7=null;
     public  void dq(String name) throws IOException{
        File f=new File("D:\\\\wenben.txt");
        String fname []=f.list();

            Reader r=new FileReader("D:\\\\wenben.txt"+name);
            String b=null;
            char cs[]=new char[1024*1024];
            int len=0;
            while ((len=r.read(cs))!=-1) {
                b=new String(cs,0,len);
            }
            r.close();

            String[] s=b.split("。");
            w0=s[0];
            w1=s[1];
            w2=s[2];
            w3=s[3];
            w4=s[4];
            w5=s[5];
            w6=s[6];
            w7=s[7];

    }

}
  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-06-23 17:37
    关注

    为什么说无法读出?你写入的时候,查看了文件中是否有内容?你程序中读取的时候,是否打印了有内容?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器