我想打开一个文件以在构造函数中读取。该文件应能以任何方法读取,而无需创建另一个阅读器对象

构造函数打开一个文件以供读取。我有一个名为getNext()的方法,该方法返回String数组中文件的下一行。但是它说找不到在构造函数中已经创建的BufferedReader对象 导入java.io. ; 导入java.util。;

public class snIDDb
{
  private char delimiter;
  private String name;

  public snIDDb(String name,char delimiter)
  {
    this.name=name;
    this.delimiter=delimiter;
    try
    {
      FileReader fr= new FileReader(name);
      BufferedReader br= new BufferReader(fr);
    }
    catch(Exception e)
    {
      System.out.print(e.getMessage());
    }
  }

  public Boolean hasnext() throws Exception
  {
    return !(br.readLine()==null); 
  }

  public String[] getNext() throws Exception
  {
    String c_line="";
    c_line=br.readLine();
    String[] n_line=c_line.split(delimiter);
    return n_line;
  }

  public void rewrite() throws Exception
  {
    br.close();
    BufferedWriter writer = new BufferedWriter(new FileWriter(name));
  }
iCMS 回答:我想打开一个文件以在构造函数中读取。该文件应能以任何方法读取,而无需创建另一个阅读器对象

br是一个局部变量,仅可在构造函数中使用。您应该将其设为实例成员变量,例如delimitername

本文链接:https://www.f2er.com/2241277.html

大家都在问