Java从文件中查询信息_[求助]怎样从文本文件中查询资料?

[求助]怎样从文本文件中查询资料?

我想从文本文件中查寻我想要的学生资料,要怎么做?我只会写把全部学生的资料都显示出来。。。。

注册的学科要怎么显示全部的?我只能做出来一个。。。。

这是我文本文件中的资料:

学号 姓名 出生日期 性别 国家 电话 入学年份 注册学科

1 wanglei 20/08/1987 男 中国 139xxxxxxxx 2006 cosc2235 cosc2236 cosc2237 cosc2365

2 bingjie 12/12/1986 女 中国 135xxxxxxxx 2004 cosc2238 cosc2658

3 xiaowen 02/03/1986 女 中国 136xxxxxxxx 2005 cosc5486 cosc2562 cosc2589 cosc2456 cosc2589

这是我写的code:

import java.io.*;

import java.util.*;

public class Main{

public static void main (String[] args){

final int MAX = 300;

Student[] student = new Student[MAX];

StringTokenizer tokenizer;

String studentId, studentName, dateOfBirth, sex, nationality, phoneNum;

int yearEnrolled;

String courseCode;

String line, file = "record.txt";

int count = 0;

try{

FileReader fr = new FileReader(file);

BufferedReader inFile = new BufferedReader(fr);

line = inFile.readLine();

while(line != null){

tokenizer = new StringTokenizer(line);

try{

studentId = tokenizer.nextToken();

studentName = tokenizer.nextToken();

dateOfBirth = tokenizer.nextToken();

sex = tokenizer.nextToken();

nationality = tokenizer.nextToken();

phoneNum = tokenizer.nextToken();

yearEnrolled = Integer.parseInt(tokenizer.nextToken());

courseCode = tokenizer.nextToken();

student[count++] = new Student(studentId, studentName, dateOfBirth, sex, nationality, phoneNum,yearEnrolled, courseCode);

}

catch(NumberFormatException exception){

System.out.println("错误");

System.out.println(line);

}

line = inFile.readLine();

}

inFile.close();

for(int scan = 0; scan < count; scan++)

{

System.out.println(student[scan]);

}

}

catch(FileNotFoundException exception){

System.out.println("文件 "+file+" 不存在.");

}

catch(IOException exception){

System.out.println(exception);

}

}

}

public class Student{

private String studentId;

private String studentName;

private String dateOfBirth;

private String sex;

private String nationality;

private String phoneNum;

private int yearEnrolled;

private String courseCode;

public Student(String studentId,String studentName,String dateOfBirth,

String sex, String nationality, String phoneNum,

int yearEnrolled, String courseCode){

this.studentId = studentId;

this.studentName = studentName;

this.dateOfBirth = dateOfBirth;

this.sex = sex;

this.nationality = nationality;

this.phoneNum = phoneNum;

this.yearEnrolled = yearEnrolled;

this.courseCode = courseCode;

}

public String getCourseCode(){

return courseCode;

}

public String getStudentId(){

return studentId;

}

public String getStudentName(){

return studentName;

}

public String getDateOfBirth(){

return dateOfBirth;

}

public String getSex(){

return sex;

}

public String getNationality(){

return nationality;

}

public String getPhoneNum(){

return phoneNum;

}

public int getYearEnrolled(){

return yearEnrolled;

}

public String toString(){

System.out.println();

System.out.println("浏览学生 "+studentId+" 的资料");

System.out.println("==============================");

String student = "Student Id\t\t: "+studentId +"\nStudent Name\t\t: "+studentName

+"\nStudent DOB\t\t: "+dateOfBirth +"\nStudent Sex\t\t: "+sex

+"\nStudent Nationality\t: "+nationality

+"\nStudent PhoneNO.\t: "+phoneNum

+"\nStudent Year Enrolled\t: "+yearEnrolled

+"\nCourseCode\t\t: "+courseCode;

return student;

}

}

拜托各位帮我看下, 多谢~~~

搜索更多相关的解决方案:

资料  文本文件  查询

----------------解决方案--------------------------------------------------------

你把学生的信息序列化 然后 直接写到文件里面 读的时候把对象读出来 就可以了

如果不序列化直接用文本操作就比较麻烦了

----------------解决方案--------------------------------------------------------

写到数据库里多好啊

还可以进行各种操作

----------------解决方案--------------------------------------------------------

没办法。。。老师要求用文本文件的。。。不需要写入资料到文件里,只是从文件里拿资料出来。。。

2楼的,我不太明白你的意思。。。我做的是输入学号,然后显示那个学生的资料。。。

我前面试着用forloop,不过做出来的结果是错的。。。。

----------------解决方案--------------------------------------------------------

那里不明白你说说?

当你把对象序列化以后 在保存的时候就不是简单的文字信息了 而是整个的对象

这样对你以后的操作会很方便的

----------------解决方案--------------------------------------------------------

ok...我再试一下。。。。

----------------解决方案--------------------------------------------------------

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

weixin_39567870

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值