package com.iouser.pojo;
public class User {
private int id ;
private String name ;
private String psw ;
private String sex ;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPsw() {
return psw;
}
public void setPsw(String psw) {
this.psw = psw;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
package com.iouser.main;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import com.iouser.pojo.User;
public class UserDemoMain {
private static Scanner sc ;
private static BufferedWriter bw ;
private static BufferedReader br ;
public static void init(){
sc = new Scanner(System.in);
try {
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("bw.txt",true),"UTF-8"));
br = new BufferedReader(new InputStreamReader(new FileInputStream("bw.txt"),"UTF-8"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static void close(){
try{
if(bw!=null){
bw.close();
}
if(br!=null){
br.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args) {
init();
while(true){
System.out.println("A: 登录");
System.out.println("B: 注册");
System.out.println("Q: 退出");
String in = sc.next();
if("q".equals(in.toLowerCase())){
System.out.println("************正在退出系统!************");
break;
}else if("a".equals(in.toLowerCase())){
boolean flag = login();
if(flag){
System.out.println("*********进入系统功能页面**********");
}else{
System.out.println("*********登录失败,请重新选择*******");
}
}else if("b".equals(in.toLowerCase())){
register();
}else{
System.out.println("您输入有误,请重新输入");
}
}
close();
System.out.println("已退出系统,谢谢使用");
}
private static void register() {
System.out.println("******请输入你的账号信息进行注册***********");
System.out.println("请输入你的账号名称:");
//通过获取文件中已存在的账号信息
/* List<User> list = null;
try {
list = getAllUser();
} catch (IOException e) {
e.printStackTrace();
}*/
String name = sc.next() ;
//判断是否存在...省略
System.out.println("请输入你的密码:");
String psw = sc.next();
System.out.println("请输入你的性别:");
String sex = sc.next();
System.out.println("**********正在为你注册*********");
writeUser(name,psw,sex);
}
private static boolean writeUser(String name, String psw, String sex) {
List<User> list = null;
try {
list = getAllUser();
} catch (IOException e) {
e.printStackTrace();
}
int size = list.size();
StringBuilder sbr = new StringBuilder();
sbr.append(size+1);
sbr.append(","+name);
sbr.append(","+psw);
sbr.append(","+sex);
System.out.println("sbr="+sbr.toString());
try {
bw.write(sbr.toString());
bw.newLine();
bw.flush();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
private static boolean login() {
System.out.println("********请输入你的账号和密码进行登录*******");
System.out.println("请输入你的账号:");
Scanner sc = new Scanner(System.in);
String name = sc.next();
System.out.println(name);
System.out.println("请输入你的密码:");
String pwd = sc.next();
System.out.println(pwd);
List<User> list = null;
try {
list = getAllUser();
} catch (IOException e) {
e.printStackTrace();
}
if(list!=null && list.size()!=0){
for(User u : list){
if(u.getName().equals(name) && u.getPsw().equals(pwd)){
System.out.println("**********登录成功***********");
return true;
}
}
}
return false ;
}
private static List<User> getAllUser() throws IOException {
close();
init();
List<User> list = new ArrayList<User>();
String line = null ;
while((line = br.readLine())!=null){
String[] arrays = line.split(",");
User user = new User();
user.setId(Integer.parseInt(arrays[0]));
user.setName(arrays[1]);
user.setPsw(arrays[2]);
user.setSex(arrays[3]);
list.add(user);
}
return list;
}
}
分享到:
相关推荐
这是一个文件操作的练习,学习者将学习到如何使用Java的`java.io`包中的File类和InputStream/OutputStream进行文件的复制,包括文件流的读写和错误处理。 通过这些小练习,初学者可以从实践中巩固JAVA基础知识,如...
在标签中提到了“JAVA IO 控制台输出”,这表明系统可能通过`System.out.println()`或`PrintStream`类来与用户进行交互,显示快递信息或者接收用户输入。控制台输出是开发阶段常用的调试手段,也是简单应用中常见的...
在本项目中,“java做的购物练习”是一个针对初学者设计的简单购物与支付系统实例,旨在帮助学习者理解和掌握Java编程语言在实际应用场景中的运用。这个小例子将涵盖多个Java编程基础和面向对象设计的核心概念。 1....
《基于IO流的简易学生管理系统》 在计算机科学领域,数据管理是不可或缺的一部分,而学生管理系统则是一个典型的案例,用于演示如何实现简单的数据操作。在这个系统中,我们使用了Java的IO流技术来处理文本文件,...
Java图书馆借书还书系统是一个基于Java编程语言开发的应用,主要设计用于模拟实际图书馆的图书借阅和归还流程。这个系统是课堂上的一个作业项目,目的是帮助学生掌握Java编程和文件操作的基本技能。通过该系统,用户...
这个“java语言写的超级简单的学生管理系统”就是一个很好的实例,它主要利用了Java语言的基本特性,如IO流、集合框架等,实现了对学生的数据进行增删改查的基本功能。 首先,我们来了解一下Java IO流。在Java中,...
本练习集主要涵盖了Java的基础知识,包括线程、输入输出(IO)、Swing图形用户界面(GUI)以及网络编程中的Socket通信。这些知识点是任何Java开发者必备的基础技能。 首先,我们来探讨Java线程。线程是程序执行的...
通过这些基础练习,学习者可以逐步掌握Java的基本语法和编程技巧,为进一步深入学习Java的高级特性和框架打下坚实的基础。在实际开发中,还会涉及到异常处理、集合框架、网络编程、IO流、数据库连接、多线程同步等更...
这个"计算机等级考试练习系统 二级JAVA"正是为备考者提供的一套专业训练工具。 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布。它的设计目标是具有...
在这个名为“servlet简单小练习”的压缩包文件中,包含了几个关于Servlet的简单示例,包括servlet_listener、servlet_resourceaccess、servlet_filter以及一个名为“servlet”的综合练习。 1. **servlet_listener**...
总的来说,这个酒店管理系统项目涵盖了Java基础语法、面向对象设计、异常处理、文件操作(如用户信息的持久化)以及简单的业务逻辑实现等多个知识点。对于Java初学者来说,这是一个很好的实战练习,能够帮助他们巩固...
5. **IO流**:Java的输入输出系统支持处理文件、网络数据传输等,理解和熟练运用InputStream、OutputStream、Reader、Writer等类,能让你的程序具备数据读写能力。 6. **多线程**:Java内置了对多线程的支持,理解...
5. **输入输出流**:Java的IO流系统允许程序读取和写入数据,如文件操作、网络通信等。InputStream和OutputStream是所有字节流的基类,而Reader和Writer则用于处理字符流。 6. **多线程**:Java内置对多线程的支持...
【Java简易聊天系统】是一个基于Java编程语言实现的练习项目,旨在帮助开发者巩固TCP网络通信基础知识并提升实际项目开发能力。在这个系统中,用户可以通过客户端与服务器进行实时文本聊天,体验基本的网络通信功能...
【标题】"java 版 简单的人员信息管理系统"是一个基于Java编程语言开发的简易信息管理软件,主要用于管理和操作人员的相关数据。这个系统可能包括添加、删除、查询和修改人员信息等功能,旨在帮助用户方便地存储和...
Java I/O框架提供了丰富的类来支持流的处理,这些类位于java.io包下。 2. 文件操作:文件是数据的持久化存储形式。Java通过I/O流来读写文件。读文件是将文件内容从磁盘加载到内存,而写文件则是将内存中的数据保存...
【描述】"src_java练习_源码.zip" 描述简单明了,直接指出了内容是Java源码的练习。这可能包括一系列独立的练习题目,或者是一个小项目的各个部分,旨在覆盖不同的Java编程概念和技术。 【标签】虽然没有提供具体的...
"课堂案例.rar"可能是教师提供的其他相关Java编程实例,用于辅助理解和学习,如简单的数据结构示例、网络编程练习等。 总的来说,完成这个Java航空票务系统课程设计,不仅需要扎实的Java编程基础,还需要对软件...
"webshop-master"这个项目可能是一个简单的网上商城系统,是学习和应用Java基础的理想平台。在这个项目中,你将有机会接触到以下几个重要的Java知识点: 1. **面向对象编程**:Java是一种面向对象的语言,项目的...
《Java初级练习项目——移动开户管理》是一个针对初学者设计的教学案例,旨在帮助学习者掌握Java编程基础,特别是与文件I/O、对象属性以及简单业务流程处理相关的技能。以下是该项目的关键知识点: 1. **对象与类**...