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

问题描述 投票:0回答:1

构造函数打开一个文件以供读取。我有一个名为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));
  }
java file bufferedreader bufferedwriter
1个回答
0
投票

br是只能在构造函数内部使用的局部变量。您应该使其成为实例成员变量,例如delimitername

© www.soinside.com 2019 - 2024. All rights reserved.