2014-12-13 2 views
1

죄송합니다. 분명히 알 수 있겠지만 자바에 익숙하지 않습니다. BufferedReader를 만드는 메서드와 처리하는 메서드가 두 가지 있습니다. 그러나 처리 방법은 공용 메서드 인 경우에도 BufferedReader에 액세스 할 수 없습니다. 내가 뭔가 잘못하고 있는거야?다른 방법으로 버퍼링 된 리더에 액세스 할 수 없습니다.

package textfiles; 
import java.io.IOException; 
import java.io.FileReader; 
import java.io.BufferedReader; 

public class ReadFile { 

    private String path; 

    public ReadFile(String filePath) { 
     path = filePath; 
    } 

    public void Open() throws IOException { 
    FileReader read = new FileReader(path); 
    BufferedReader buff = new BufferedReader(read); 
    } 

    public String[] OpenFile() throws IOException { 



     int numberOfLines = readLines(); 
     String[] textData = new String[numberOfLines]; 

     int i; 

     for (i=0; i < numberOfLines; i++) { 
     textData[i] = buff.readLine(); 

     } 

     buff.close(); 
     return textData; 
    } 

    int readLines() throws IOException { 

     FileReader linedFile = new FileReader(path); 
     BufferedReader findLines = new BufferedReader(linedFile); 

     String lines; 
     int noLines = 0; 

     while ((lines = findLines.readLine()) != null) { 
      noLines++; 
     } 

     findLines.close(); 
     return noLines; 
    } 

} 

답변

0

로 컴파일시 오류가 반환해야

buff = new BufferedReader(read); 
0

귀하의 코드처럼 초기화, 단지

BufferedReader buff; 

같은 경로 변수를 선언 한 후 그리고 열어 방법으로 인스턴스 수준에서의 BufferedReader를 정의 buff undefined 변수. 그래서 그것을 인스턴스 변수로 선언하고 직접 모든 메서드에서 사용하십시오.

관련 문제