学生集合java根据学号和密码判断学生是否在F://students.txt文件中存在
时间: 2024-02-03 14:03:09 浏览: 85
可以按照以下步骤实现:
1. 创建一个`Student`类,包含学号和密码两个属性,并生成对应的`getter`和`setter`方法。
2. 创建一个`File`对象,指向`F://students.txt`文件。
3. 判断文件是否存在,如果不存在则说明该学生肯定不存在,可以直接返回`false`。
4. 如果文件存在,就用`BufferedReader`逐行读取文件内容,将每一行都解析成一个`Student`对象。
5. 将读取到的每个`Student`对象的学号和密码与待查询的学生对象进行比较,如果相同则说明该学生存在,返回`true`。
下面是具体的代码实现:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Student {
private String studentId;
private String password;
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public static boolean isStudentExist(String studentId, String password) {
// 创建待查询的学生对象
Student student = new Student();
student.setStudentId(studentId);
student.setPassword(password);
// 创建File对象,指向F://students.txt文件
File file = new File("F://students.txt");
// 判断文件是否存在
if (!file.exists()) {
return false;
}
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
String line;
while ((line = reader.readLine()) != null) {
String[] tokens = line.split(",");
if (tokens.length == 2) {
Student s = new Student();
s.setStudentId(tokens[0]);
s.setPassword(tokens[1]);
if (s.getStudentId().equals(student.getStudentId())
&& s.getPassword().equals(student.getPassword())) {
return true;
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
}
```
使用示例:
```java
public static void main(String[] args) {
String studentId = "20190101";
String password = "123456";
boolean isExist = Student.isStudentExist(studentId, password);
System.out.println("该学生是否存在:" + isExist);
}
```
阅读全文