简易Java图书馆(I/O流实现)
话不多说 上代码
检查密码类
import java.io.*;
public class CheckPassWord {
private static final String NAME = "password.txt";
private static String password;
private static String In;
private static String Message_Right = "SUCCESS";
private static String Message_Fail = "Please restart and try again!";
protected String getPassword() throws IOException {
var reader = new BufferedReader(new FileReader(NAME));
password = String.valueOf(reader.readLine());
return password;
}
protected String getIn() throws IOException {
var bufferedReader = new BufferedReader(new InputStreamReader(System.in));
this.In = String.valueOf(bufferedReader.readLine());
return In;
}
public static void Do() throws IOException {
var checkPassWord = new CheckPassWord();
System.out.println("Please enter the password and double enter");
String EnterIn = checkPassWord.getIn();
checkPassWord.getPassword();
String Password = checkPassWord.getPassword();
checkPassWord.getIn();
Boolean right = Password.equals(EnterIn);
if (right) {
System.out.println(Message_Right);
} else {
System.out.println(Message_Fail);
System.exit(0);
}
}
}
添加图书类
import java.io.*;
import java.util.Date;
public class ReceiveBook {
public static void Write() throws IOException {
while (true) {
System.out.println("Please enter the book name");
var bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String in = (String) bufferedReader.readLine();
//add into file
var file = new File("Books.txt");
Long firstModified = file.lastModified();
var date = new Date(firstModified);
var fileWriter = new FileWriter("Books.txt", true);
in += "\n";
fileWriter.write(in);
fileWriter.flush();
var file1 = new File("Books.txt");
Long lastModified = file1.lastModified();
var date1 = new Date(lastModified);
//Check if it add into file
if (date.equals(date1)) {
System.out.println("Failed");
} else System.out.println("SUCCESS");
//Check if user want to exit
if (String.valueOf(bufferedReader.readLine()).equals("exit")) {
fileWriter.close();
System.out.println("Have closed the OutputStream");
bufferedReader.close();
System.out.println("Have closed the InputStream");
System.exit(0);
}
}
}
}
查看/确认图书类
import java.io.*;
import java.util.ArrayList;
public class Book {
static ArrayList<String> books = new ArrayList<>();
static File file = new File("Books.txt");
public static void ShowBooks() throws IOException {
var bufferedReader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
while ((tempString = bufferedReader.readLine()) != null) {
System.out.println("第" + line + "本书是:" + tempString);
line++;
}
bufferedReader.close();
System.out.println("Enter 'enter' to continue");
}
public static void SearchBook() throws IOException {
System.out.println("正在读取所有书目...");
var bufferedReader = new BufferedReader(new FileReader(file));
String string = null;
int line = 0;
while ((string = bufferedReader.readLine()) != null) {
books.add(line, string);
line++;
}
System.out.println("载入完成");
System.out.println();
System.out.println("============");
System.out.println("输入书名");
System.out.println("============");
var bufferedReader1 = new BufferedReader(new InputStreamReader(System.in));
if (books.contains(String.valueOf(bufferedReader1.readLine()))) {
System.out.println("已有此书");
} else {
System.out.println("未有此书");
}
System.out.println("Enter 'enter' to continue");
}
}
主类
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
var bufferedReader = new BufferedReader(new InputStreamReader(System.in));
CheckPassWord.Do();
while (true) {
System.out.println("===================");
System.out.println("输入0--------退出程序");
System.out.println("输入1--------储存书名");
System.out.println("输入2--------显示书目");
System.out.println("输入3--------查找书目");
System.out.println("===================");
switch (String.valueOf(bufferedReader.readLine())) {
case "0":
System.out.println("正在退出");
System.exit(0);
break;
case "1":
ReceiveBook.Write();
break;
case "2":
Book.ShowBooks();
break;
case "3":
Book.SearchBook();
break;
default:
System.out.println("输入错误");
break;
}
if (String.valueOf(bufferedReader.readLine()).equals("")) {
System.out.println("正在继续");
}
}
}
}
附:外部资源 password.txt
//可以修改为其他密码,默认123456
//books.txt 会自动创建
123456