在文件中搜索学生

时间:2014-09-10 17:46:45

标签: java api file-io

我想在Student s的输入文件中搜索。以下是我目前工作的概述。

Class Student,带有setter,getter和display方法(print)

Class StudentFile

import java.io.*;
import java.util.ArrayList;
public class StudentFile {

public void Trouver(int id) 
    {
        try
        {
        File file = new File("C:/Users/Akram/Documents/akram.txt");
        BufferedReader read = new BufferedReader(new FileReader(file));
        String str;
         while((str=read.readLine())!=null)
         {
            Student s;

            if(s.getId()==id)
                System.out.println(s.print());
         }
         read.close();
            }
        catch(IOException e) { System.out.println(e); }
    }
}

这个方法什么都没显示,我不知道为什么。你有什么见解吗?

1 个答案:

答案 0 :(得分:1)

您正在从文件中读取行并将其内容分配给str,但您从未使用此值执行某些操作。

此外,Student似乎是空的。

假设您的文件仅包含学生的ID:

BufferedReader read = new BufferedReader(new FileReader(file));
    String str;
     while((str=read.readLine())!=null)
     {
        // Your constructor assigns str to ID property of Student
        // Casting to Integer, because ID is a number
        Student s = new Student(Integer.valueOf(str)); 

        if(s.getId()==id)
            System.out.println(s.print());
     }

另外,请确保学生中的print()方法确实打印出您想要的内容。