我是 Java 新手,这一切都是自学的。我喜欢使用代码,这只是一种爱好,所以,我没有接受过任何关于这个主题的正规教育。
我现在正在学习从文本文件中读取。我得到的代码不正确。当我硬编码确切的行数时它可以工作,但是如果我使用“for”循环来感知有多少行,它就不起作用。
我已经对它进行了一些修改。这是我现在的位置:
这是我的主要课程
package textfiles;
import java.io.IOException;
public class FileData {
public static void main(String[] args) throws IOException {
String file_name = "C:/Users/Desktop/test.txt";
ReadFile file = new ReadFile(file_name);
String[] aryLines = file.OpenFile();
int nLines = file.readLines();
int i = 0;
for (i = 0; i < nLines; i++) {
System.out.println(aryLines[i]);
}
}
}
这是我的课程,它将读取文本文件并感知行数
package textfiles;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
private String path;
public ReadFile(String file_path) {
path = file_path;
}
int readLines() throws IOException {
FileReader file_to_read = new FileReader(path);
BufferedReader bf = new BufferedReader(file_to_read);
int numberOfLines = 0;
String aLine;
while ((aLine = bf.readLine()) != null) {
numberOfLines++;
}
bf.close();
return numberOfLines;
}
public String[] OpenFile() throws IOException {
FileReader fr = new FileReader(path);
BufferedReader textReader = new BufferedReader(fr);
int numberOfLines = 0;
String[] textData = new String[numberOfLines];
int i;
for (i = 0; i < numberOfLines; i++) {
textData[i] = textReader.readLine();
}
textReader.close();
return textData;
}
}
请记住,我是自学成才的;我可能没有正确缩进,或者我可能会犯一些简单的错误,但不要粗鲁。有人可以看看这个,看看为什么它没有检测到行数(int numberOfLines
)以及为什么除非我硬编码方法中的行数,否则它不会工作readLines()
。