很抱歉,如果这很明显,我对Java缺乏经验。我有两个方法,一个创建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 :(得分:0)
在声明路径变量之后立即在实例级定义BufferedReader,如
BufferedReader buff;
在您的方法中打开,将其初始化为
buff = new BufferedReader(read);
答案 1 :(得分:0)
您的代码应该将编译时错误作为buff未定义变量返回。因此将其声明为实例变量并直接在任何方法中使用它。