📄 tools.java
字号:
/**
*
*/
package edu.sccp.lhq.server;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap;
import edu.sccp.lhq.bo.AdminBO;
import edu.sccp.lhq.domain.AdminInfo;
/**
* 工具类
* @author 刘华清
* 2007-9-4
*/
public class Tools {
private static BufferedReader br;
public static String name;
public static String password;
public static int power;
static AdminBO adminBO = new AdminBO();
static{
br = new BufferedReader(new InputStreamReader(System.in));
}
/*
* 登录界面
*
*/
public static boolean outPut(){
System.out.println("请输入用户名: ");
name = readLine();
System.out.println("请输入密 码");
password = readLine();
boolean b = validate(name);
return b;
}
/*
* 检查用户拼写的方法
* 用户名只能是6位以内的数字或字母
* return boolean
*/
public static boolean validate(String name){
boolean flag = false;
if(name.length()>6){
System.out.println("用户名的长度不能超过6,请重新输入!:");
flag = false;//用户名的长度超过6位,标志设为false
}else{
for(int i = 0; i<name.length(); i++){
char ch = name.charAt(i);
if(!Character.isLetterOrDigit(ch)){
System.out.println("用户名只能由数字或字母组成,请重新输入!");
flag = false;//用户名中有非数字和字母的字符,标志设为false
break;//跳出循环
}
flag = true;//用户名符合规则,标志设为true
}
}
return flag;//返回标志
}
/*
* 用户合法性检查
*/
public static int checkAccount(String username, String userPassword){
HashMap hashMap = AdminHashMap.getHashMap();
int i = 0;
AdminInfo adminInfo = (AdminInfo)hashMap.get(username);
if(adminInfo!=null){
if(userPassword.equals(adminInfo.getUserPassword())){
i = adminInfo.getUserPower();
}else{
i = 2;
}
}else{
i = -1;
}
return i;
}
/*
* 从键盘接收数据
* return String
*/
public static String readLine(){
String s = null;
try{
s = br.readLine();
}catch(Exception e){
e.printStackTrace();
}
return s;
}
/*
* 字符流读取文件
* 将界面文件读入屏幕
*/
public static void readFile(String file){
BufferedReader inStream = null;
String str = null;
try{
inStream= new BufferedReader(new FileReader(file));
//按行输出文件
while( (str=inStream.readLine())!= null){
System.out.println(str);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
//关闭流
inStream.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
/*
* 读取文件中的HashMap
* return HashMap
*/
public static HashMap readHashMap(String file){
ObjectInputStream in = null;
HashMap hashMap = null;
try {
in = new ObjectInputStream(new FileInputStream(file));//创建输入对象流
hashMap = (HashMap)in.readObject();//从流中读取对象转化为HashMap
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}catch (Exception e){
e.printStackTrace();
}finally{
try{
//关闭流
in.close();
}catch(Exception e){
e.printStackTrace();
}
}
return hashMap;//返回HashMap
}
/*
* 将装好信息的HashMap
* 写入文件中
*/
public static boolean writeHashMap(String file,HashMap hashMap){
boolean flag = false;
ObjectOutputStream out = null;
try {
out = new ObjectOutputStream(new FileOutputStream(file));//创建输出对象流
out.writeObject(hashMap);
} catch (IOException e) {
e.printStackTrace();
}catch (Exception e){
e.printStackTrace();
}finally{
try{
//关闭流
out.close();
flag = true;
}catch(Exception e){
e.printStackTrace();
}
}
return flag;
}
/*
* 从主界面根据用户输入的选择
* 调入相应的界面
*/
public static void mainChoose(int power){
System.out.println("请输入您的选择:");
//用户输入的选择信息
String s = readLine();
int i = Integer.parseInt(s);
if(power == 1){
//根据用户的选择调用不同的界面
switch(i){
case 1:
readFile("edu/sccp/lhq/text/admin.txt");//调入用户信息管理界面
adminChoose();//根据用户的选择执行相应的操作
break;
case 4:
System.out.println("欢迎您下次再来!");
System.exit(0);
}
}else{
// 根据用户的选择调用不同的界面
switch(i){
case 1:
readFile("edu/sccp/lhq/text/student.txt");//调入用户信息管理界面
//studentChoose();//根据用户的选择执行相应的操作
}
}
}
/*
* 根据用户的选择
* 执行不同的操作
*/
public static void adminChoose(){
System.out.println("请输入您的选择:");
// 用户输入的选择信息
String s = readLine();
int i = Integer.parseInt(s);
switch(i){
case 1:
// readFile("D:/lhq/studentmanager/edu/sccp/lhq/text/adminQuery.txt");
// System.out.println("请输入您的选择:");
//
// switch(Integer.parseInt(readLine())){
// case 1:
// System.out.println("请输入您要查询的用户名:");
//
// adminBO.queryAdminByName(readLine());
//
// break;
// case 2:
// adminBO.queryAllAdmin();
//
// break;
// }
queryAdmin();
break;
case 2:
// System.out.println("请输入您要添加的用 户 名:");
// String name = readLine();
// while(!Tools.validate(name)){
//
// System.out.println("请输入您要添加的用 户 名:");
// name = readLine();
// }
// while(adminBO.adminExist(name)){
// System.out.println("对不起,您输入的用户名已存在,请重新输入!");
// System.out.println("请输入您要添加的用 户 名:");
// name = readLine();
// }
// System.out.println("请输入您要添加的用户密码: ");
// String password = readLine();
// System.out.println("请输入您要添加的用户权限:");
// int power= Integer.parseInt(readLine());
//
// if(adminBO.addAdmin(name, password, power)){
// System.out.println("添加成功!");
// }else{
// System.out.println("添加失败!");
// }
addAdmin();
break;
case 3:
// System.out.println("请输入您要修改的用 户 名:");
// while(!adminBO.adminExist(readLine())){
// System.out.println("请输入您要修改的用 户 名:");
// }
// System.out.println("请输入您修改后的用 户 名:");
// String name1 = readLine();
// while(!Tools.validate(name1)){
// System.out.println("请输入您修改后的用 户 名:");
// name1 = readLine();
// }
// System.out.println("请输入您修改后的用户密码:");
// String password1 = readLine();
// System.out.println("请输入您修改后的用户权限:");
// int power1= Integer.parseInt(readLine());
//
// if(adminBO.editAdmin(name1, password1, power1)){
// System.out.println("修改成功!");
// }else{
// System.out.println("修改失败!");
// }
editAdmin();
break;
case 4:
// System.out.println("请输入您要删除的用户名:");
// while(!adminBO.adminExist(readLine())){
// System.out.println("请输入您要删除的用户名:");
// }
//
// String name2 = readLine();
//
//
// if(adminBO.delAdmin(name2)){
// System.out.println("删除成功!");
// }else{
// System.out.println("删除失败!");
// }
delAdmin();
}
}
/*
* 用户查询操作
*/
public static void queryAdmin(){
readFile("edu/sccp/lhq/text/adminQuery.txt");
System.out.println("请输入您的选择:");
switch(Integer.parseInt(readLine())){
case 1:
System.out.println("请输入您要查询的用户名:");
adminBO.queryAdminByName(readLine());
break;
case 2:
adminBO.queryAllAdmin();
break;
}
}
/*
* 用户添加操作
*/
public static void addAdmin(){
System.out.println("请输入您要添加的用 户 名:");
String name = readLine();
while(!Tools.validate(name)){
System.out.println("请输入您要添加的用 户 名:");
name = readLine();
}
while(adminBO.adminExist(name)){
System.out.println("对不起,您输入的用户名已存在,请重新输入!");
System.out.println("请输入您要添加的用 户 名:");
name = readLine();
}
System.out.println("请输入您要添加的用户密码: ");
String password = readLine();
System.out.println("请输入您要添加的用户权限:");
int power= Integer.parseInt(readLine());
if(adminBO.addAdmin(name, password, power)){
System.out.println("添加成功!");
}else{
System.out.println("添加失败!");
}
}
/*
* 用户修改操作
*/
public static void editAdmin(){
System.out.println("请输入您要修改的用 户 名:");
String name = readLine();
while(!adminBO.adminExist(name)){
System.out.println("对不起,您输入的用户名不存在!请重新输入!");
System.out.println("请输入您要修改的用 户 名:");
name = readLine();
}
adminBO.queryAdminByName(name);
System.out.println("请输入您修改后的用 户 名:");
String name1 = readLine();
while(!Tools.validate(name1)){
System.out.println("请输入您修改后的用 户 名:");
name1 = readLine();
}
System.out.println("请输入您修改后的用户密码:");
String password1 = readLine();
System.out.println("请输入您修改后的用户权限:");
int power1= Integer.parseInt(readLine());
if(adminBO.editAdmin(name1, password1, power1)){
System.out.println("修改成功!");
}else{
System.out.println("修改失败!");
}
}
/*
* 用户删除操作
*/
public static void delAdmin(){
System.out.println("请输入您要删除的用户名:");
while(!adminBO.adminExist(readLine())){
System.out.println("请输入您要删除的用户名:");
}
String name2 = readLine();
if(adminBO.delAdmin(name2)){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -