请用Java模拟写一个登陆公共,要求用户输入正确的用户名和密码,只有其内容符合userinfo.txt里的账号密码对应才提示登录成功。 tips:userinfo.txt内容自己指定位置,写入如上内容。使用字符缓冲流完成。
时间: 2024-02-11 17:08:12 浏览: 17
好的,以下是Java代码实现:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class LoginSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入用户名:");
String username = scanner.nextLine();
System.out.print("请输入密码:");
String password = scanner.nextLine();
if (login(username, password)) {
System.out.println("登录成功!");
} else {
System.out.println("用户名或密码错误!");
}
scanner.close();
}
private static boolean login(String username, String password) {
try (BufferedReader br = new BufferedReader(new FileReader("userinfo.txt"))) {
String line;
while ((line = br.readLine()) != null) {
String[] userInfo = line.split(":");
if (userInfo[0].equals(username) && userInfo[1].equals(password)) {
return true;
}
}
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
}
```
在这个实现中,我们使用了 `BufferedReader` 来读取 `userinfo.txt` 文件中的内容,并使用 `split` 方法将每行的用户名和密码分开。如果输入的用户名和密码与 `userinfo.txt` 中的一行匹配,则表示登录成功。