所以我今天刚切换到 NetBeans,因为我的 eclipse 已经崩溃了无数次。但是,当我学习有关读取文件的内容时,我似乎无法为 FileReader
导入类。
当我尝试为 FileReader
导入某些内容时,它只是询问我是否要创建方法 FileReader(java.io.File)
。这只是 Eclipse 和 Netbeans 之间的区别吗?
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
File file1 = new File("test.txt");
try(BufferedReader bf1 = new BufferedReader(FileReader(file1))){
}catch (IOException ex) {
System.out.println("haha");
}
最佳答案
您根本没有导入它 - 您要么需要通配符导入:
import java.io.*;
或特定导入:
import java.io.FileReader;
正如 Titus 所指出的,在使用 FileReader
之前,您还缺少一个 new
。这:
try(BufferedReader bf1 = new BufferedReader(FileReader(file1))){
应该是:
try(BufferedReader bf1 = new BufferedReader(new FileReader(file1))){
现在,与 Netbeans 相比,您可能更习惯于 Eclipse 自动为您导入内容 - 在通用包(甚至所有包)中查找您提到的类型,并主动为您导入它。我不知道这里的 Netbeans 功能,但如果它有点不同,我不会感到惊讶。
无论如何,我也鼓励您避免使用 FileReader
- 它不允许您指定用于读取文件的编码。从 Java 7 开始,java.nio.Files
中有一个更方便的方法无论如何:
try (BufferedReader reader = Files.newBufferedReader(file1.toPath())) {
...
}
或者从路径
开始:
Path file1 = Paths.of("test.txt");
try (BufferedReader reader = Files.newBufferedReader(path)) {
...
}
这将默认使用 UTF-8,或者您可以根据需要指定编码。
关于java - 为什么 FileReader 不是 NetBeans 中的一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34328187/