2014-10-16 45 views
0

我创建这个类:如何将在类方法中创建的实例传递给同一类中的另一个方法?

class File { 
    public String path; 
    public int numberOfLines = 0; 
    public String[] fileContent; 

    public File (String file_path) { 
     path = file_path; 
    } 

    public BufferedReader openFile() throws IOException { 
     FileReader ReadFile = new FileReader(path); 
     BufferedReader ReadFilePerLine = new BufferedReader(ReadFile); 
    }  
    public int countLines() { 
     String line; 

     while((line = ReadFilePerLine.readLine()) != null){ 
      numberOfLines++; 
     } 
     return numberOfLines; 
    } 
    public String[] readLines() { 
     String[] fileContent = new String[numberOfLines]; 
     for (int i=0; i < numberOfLines; i++){ 
      fileContent[i] = ReadFilePerLine.readLine(); 
     } 
    } 
} 

如何获得countLines()方法知道的ReadFilePerLine存在的,如何让他用呢? (同为numberOfLines变量)

回答

1

BufferedReader ReadFilePerLine = new BufferedReader(ReadFile);

这是openFile()方法的局部变量,因此只存在该方法的范围之内。

如果您希望其他方法可以访问它,请将其设置为实例变量(即将BufferedReader ReadFilePerLine;移动到方法之外)。

0

您应该使用方法参数为,这样的:

public int countLines (BufferedReader in) { 
    String line; 

    while((line = in.readLine()) != null){ 
     numberOfLines++; 
    } 
    return numberOfLines; 
} 
相关问题