package cn.itcast07;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Test01 {
/*
* 1. 在项目根路径下建2个文件,"data.txt"和"result.txt",2个文件分别存储用户密码和
* 保存博客内容,其中"data.txt"中用户名和密码存储格式为,
* jack:123(文件中的用户名和密码可以手动输入,不需要用程序录入)
2. 程序运行后,在控制台提示:1.登陆 2.写博客 3.退出登陆
2.1 如:键盘输入1,执行用户登录操作,提示用户输入用户名和密码,根据键盘录入的用户名和密码
和"data.txt"中的用户名密码进行匹配,匹配成功,控制台提示登录成功,否则控制台提示登录失败
2.2 如:键盘输入2,执行写博客操作,写博客操作需要用户登录后才能写,如用户登录成功后执行写博客操作,
可在控制台输入想写的话,并将输入的话保存到"result.txt"中,要求保存到"result.txt"中的内容包含:
保存时的时间(格式为:2016-09-05 09:22)和控制台输入的字符串,各占一行;
如用户没有登录或者登录失败时执行写博客,控制台提示"你尚未登陆,请先登陆!"
2.3 输入3,执行退出登录操作,退出登录只是记录用户退出的状态,并不是退出程序
2.4 如输入其他值,执行退出程序操作,并在控制台提示"程序退出!"
要求:除退出程序的操作外,所有的操作完后都需跳回到初始界面:1.登陆 2.写博客 3.退出登陆
*/
public static void main(String[] args) throws Exception {
int m = 0;
//无限循环
while (true){
System.out.println("请根据需求输入相应的编号\r\n1 :登陆;2:写博客;3:退出登陆");
int n=input().nextInt();
switch(n){
case 1:
System.out.println("登陆");
m=login();
break;
case 2:
if(m==1){
writeBoke();
}else{
System.out.println("您尚未登陆 ,请先登陆");
}
break;
case 3:
System.out.println("退出登陆");
break;
default:
System.out.println("退出程序");
System.exit(0);
}
}
}
//写博客
private static void writeBoke() throws Exception {
String time=time();
System.out.println("请写博客");
String line=input().nextLine();
BufferedWriter bw=new BufferedWriter(new FileWriter("result.txt"));
bw.write(time);
bw.flush();
bw.newLine();
bw.write(line);
bw.flush();
bw.newLine();
bw.close();
}
//获取现在时刻
private static String time() {
Calendar ins = Calendar.getInstance();
Date time = ins.getTime();
Format f=new SimpleDateFormat("yyyy-MM-dd hh:mm");
String time2 = f.format(time);
return time2;
}
//登陆
private static int login() throws Exception {
System.out.println("请输入用户名:");
String name=input().next();
System.out.println("请输入密码");
String password=input().next();
String s=name+":"+password;
BufferedReader br=new BufferedReader(new FileReader("username.txt"));
String line=null;
int count=0;
while((line=br.readLine())!=null){
if(line.equals(s)){
count++;
}
}
br.close();
return count;
}
//Scanner
public static Scanner input(){
return new Scanner(System.in);
}
}
|
|