目前,我正在学习如何使用 Java 编程作为一种爱好。我在 NetBeans 中进行了大量阅读和练习,但我没有接受过任何正式培训。所以,如果我犯了一个菜鸟的错误,请记住这一点。
好的,所以,我得到了如何用 Java 读取文件的代码。我在网上和这里都看到过同样的代码;我不会打扰你们的。:)
现在,就像我说的那样,我已经做了很多阅读和学习,我知道给我的代码是垃圾。(如果你想知道我得到了什么,包被称为“textfiles”,类被称为“FileData”和“ReadFile”,“readFile”和“OpenFile”作为“ReadFile”类下的方法。听起来很熟悉?) 不管怎样,我厌倦了,写了我自己的。现在,我的日子有点难过。我究竟做错了什么?
这是我的主要课程:
package javaclass;
import java.io.IOException;
public class JavaClass{
public static void main(String[] args) throws IOException {
String file_name = "C:/users/Admin/test.txt";
try {
Reader rdr = new Reader(file_name);
System.out.println(rdr.OpenFile());
}
catch (IOException e) {
}
}
}
这是我打开和阅读文件的课程:
package javaclass;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.ArrayList;
public class Reader extends JavaClass{
private String path;
public Reader(String file_name) throws IOException {
String file = path;
}
public String OpenFile() throws IOException {
FileReader fr = new FileReader(path);
BufferedReader br = new BufferedReader(fr);
String line = null;
ArrayList<String> list = new ArrayList<>();
while ((br.readLine()) !=null) {
list.add(line);
}
return list.toString();
}
}
这是我编译时得到的:
Exception in thread "main" java.lang.NullPointerException
at java.io.FileInputStream.<init>(FileInputStream.java:134)
at java.io.FileInputStream.<init>(FileInputStream.java:97)
at java.io.FileReader.<init>(FileReader.java:58)
at javaclass.Reader.OpenFile(Reader.java:17)
at javaclass.JavaClass.main(JavaClass.java:12)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
我一直在绞尽脑汁想弄清楚这一点。我已经查看了例外情况。Reader.java:17 指“FileReader fr = new FileReader(path);” JavaClass.java:12 指的是“System.out.println(rdr.OpenFile());”。
感谢您的时间和建议。:)