代码功能:
1、点击JFrame窗口中的登录按钮 读取文件中数据实现登录
2、点击JFrame窗体中的注册按钮 写入文件中数据实现登录
注意:
1、只能在文件中插入一组数据,通过这一组数据来实现登录
2、注册时插入的数据不能为空
3、如果注册失败,点击登录按钮会出错(因为注册失败后,文件中数据为空,无法读取数据)
4、只在一个文件 Start.java 中实现
5、使用IO流 + 匿名内部类监听 + 窗体 实现
代码如下:

package com.ludx.job;import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;//登录注册的页面
public class Start implements ActionListener{public static void main(String[] args) throws IOException{Start st = new Start();st.init();System.out.println("---------------------注册失败时不可登录--------------------"); //注册失败时文件为空,无数据}//用户名和密码为全局变量JTextField text1 = new JTextField(10);JPasswordField text2 = new JPasswordField(10);File file1 = new File("D:\\cm\\user.txt");    //创建File文件JLabel label = new JLabel();                 //创建标签//初始化窗体public void init() throws IOException{//创建窗体 面板 标签 按钮  文本输入框 密码输入框 JFrame f = new JFrame();JPanel p = new JPanel();JLabel la1 = new JLabel("用户名:");JLabel la2 = new JLabel("密码:");JButton b1 = new JButton("登录");JButton b2 = new JButton("注册");p.add(la1);p.add(text1);p.add(la2);p.add(text2);p.add(b1);p.add(b2);p.add(label);f.add(p);f.setVisible(true);                                            //可见f.setTitle("登录注册");                                       //标题f.setSize(500,300);                                         //大小f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);           //关闭后台f.setResizable(false);                                        //不可改变f.setLocation(430, 150);                                  //窗体位置f.setIconImage(ImageIO.read(new File("images/hdjs.jpg")));  //窗体图标//注册----------写入文件用户名和密码 (匿名内部类)      b2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {try {String s3 = text1.getText();                //获取文本输入框的用户名String s4 = text2.getText();              //获取文本输入框的密码//创建字节输出流FileOutputStreamFileOutputStream fos = new FileOutputStream(file1);//创建字符输出流OutputStreamWriterOutputStreamWriter osw = new OutputStreamWriter(fos);//创建字符缓冲输出流BufferedWriterdBufferedWriter bw = new BufferedWriter(osw);if(s3 == null || s3.length() <=0||s4 ==null ||s4.length()<=0){ //判空label.setText("注册失败");label.setForeground(Color.black);System.out.println("注册失败:输入不能为空!");}else{bw.write(s3);     //把输入的用户名写到文件中bw.newLine();bw.write(s4);    //把输入的密码写到文件中bw.newLine();label.setText("注册成功");label.setForeground(Color.black);System.out.println("注册成功的用户名为:"+s3);System.out.println("注册成功的密码为:"+s4);bw.close();   //关闭流}} catch (Exception e1) {e1.printStackTrace();label.setText("注册失败");label.setForeground(Color.black);System.out.println("注册失败:数据未插入到文件中!");} }   });//登录 ----------读取文件中用户名密码 绑定监听事件 b1.addActionListener(this);}//绑定登录按钮(读取文件中已有的用户名和密码)//实现ActionListener接口后,强制要求重写的方法public void actionPerformed(ActionEvent e) {try{String s1 = text1.getText();             //获取文本输入框的用户名String s2 = text2.getText();              //获取文本输入框的密码//创建字节输入流FileInputStreamFileInputStream fis = new FileInputStream(file1);//创建字符输入流InputStreamReaderInputStreamReader isr = new InputStreamReader(fis);//创建字符缓冲输入流BufferedReaderBufferedReader br = new BufferedReader(isr);String m1 = br.readLine();               //读取文件中用户名  ; 不行,要定义为全局变量String m2 = br.readLine();             //读取文件中密码System.out.println("文件中的用户名为:"+m1);System.out.println("文件中的密码为:"+m2);if(m1.equals(s1) && m2.equals(s2)){label.setText("登录成功");label.setForeground(Color.black);System.out.println("登录成功的用户名为:"+s1);System.out.println("登录成功的密码为:"+s2);}else{label.setText("登录失败");label.setForeground(Color.black);System.out.println("登录失败:输入的用户名或密码不正确!");}//关闭流br.close();}catch (Exception e1) {e1.printStackTrace();}}
}

///有不足之处敬请指出

java中点击按钮读取和写入文件实现登录和注册相关推荐

  1. java中点击按钮出现echarts图表_echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮...

    echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮 >>>>>>>>>>>>>>&g ...

  2. java写入文件编码格式为ansi_Java读取、写入文件如何解决乱码问题

    读取文件流时,经常会遇到乱码的现象,造成乱码的原因当然不可能是一个,这里主要介绍因为文件编码格式而导致的乱码的问题.首先,明确一点,文本文件与二进制文件的概念与差异. 文本文件是基于字符编码的文件,常 ...

  3. Flutter进阶—读取与写入文件

    Flutter使用path_provider插件读取与写入文件,path_provider插件提供了一种平台无关的方法来访问设备文件系统上常用的位置.该类目前支持访问两个文件系统位置: 临时目录:系统 ...

  4. java properties更新_对Java配置文件Properties的读取、写入与更新操作

    String filepath=System.getProperty("user.dir"); 对下面的程序很有用... /** * 实现对Java配置文件Properties的读 ...

  5. java 保存inputstream_java如何将一个InputStream写入文件啊?

    展开全部 java通过InputStream读取和写入文件操作e69da5e6ba903231313335323631343130323136353331333365643662实例代码 1. Fil ...

  6. java配置文件强制更新_对Java配置文件Properties的读取、写入与更新操作

    对Java配置文件Properties的读取.写入与更新操作 注:当前项目路径是 String filepath=System.getProperty("user.dir"); 对 ...

  7. Java配置文件Properties的读取、写入与更新操作

    /** * 实现对Java配置文件Properties的读取.写入与更新操作 */ package test; import java.io.BufferedInputStream; import j ...

  8. VUE实现华视身份证阅读器读取身份证信息(本文分两种情况,第一中是点击按钮读取信息,一种是自动读取信息)

    本文是用了vue+element来实现华视身份证读卡器读取身份信息的,当然在开发之前要做好前提准备,就是厂家提供对应设备的api和安装对应的驱动.本文通过两种方法来实现读取信息,第一种是点击按钮读取信 ...

  9. WebDriver中点击按钮、连接无效问题

    WebDriver中点击按钮.连接无效问题 之前在写一个测试用例的时候,就有发现点击提交按钮不起作用,今天又遇到点击链接也不起作用的情况.经过一些尝试,暂时已通过其他方式解决. 1.       软件 ...

  10. python读取写入文件_Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 1234567890 2345678901 3456789012 实现代码: with open('t ...

最新文章

  1. post请求参数格式
  2. 适合小白的卷积神经网络图解
  3. java 异常 规范_java 异常规范
  4. 基本算法个人PHP 实现(四)
  5. Spring与Hibernate整合中,使用OpenSessionInViewFilter后出现sessionFactory未注入问题
  6. .net 动软代码生成器
  7. linux防火墙ddos,Linux iptables防火墙详解 + 配置抗DDOS***策略实战
  8. Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】
  9. 财务人员福音,财务收支报告模板
  10. Web前端开发-网页制作零基础入门-Dreamweaver2019+HTML+CSS视频教程
  11. 震旦打印机扫描显示服务器连接错误,震旦打印机Scan2me扫描失败(exchange邮箱)...
  12. Redis基础篇(一)
  13. Win10系统默认播放器一直被修改怎么解决
  14. 史上最详细Lip-reading with Hierarchical Pyramidal Convolution and Self-Attention文章记录
  15. 中英文说明书丨CalBioreagents ACTH抗原抗体对
  16. 一个老病号对感冒发烧的经验
  17. Ubuntu:安装rust
  18. linux 信号signum.h SIGINT SIGUSR1 SIGUSR2
  19. 四川大学计算机专业调剂,2019年四川大学计算机学院(软件学院)考研调剂信息
  20. 关于JDK8安装遇到1335问题

热门文章

  1. TimePicker使用全解
  2. mysql 唯一索引为null_mysql 唯一索引与null.md
  3. 象棋军师app已经上线
  4. 一种便携式导弹飞控系统外场实时仿真测试系统设计
  5. IRedMail 邮箱配置
  6. 抖音SEO优化源码,抖音搜索排名系统,技术理论分析搭建。
  7. Mysql分页查询出现重复数据
  8. H5 游戏 俄罗斯方块 双人互动游戏
  9. [EE261学习笔记] 4.常用的几个傅里叶变换相关公式
  10. vue面试题自我介绍