为什么 FileReader 在 NetBeans 中不是 class?
why is FileReader not a class in NetBeans?
所以我今天刚切换到 NetBeans,因为我的 eclipse 已经崩溃了无数次。但是,当我在阅读文件时学习一些东西时,我似乎无法为 FileReader
.
导入 class
当我尝试为 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
开始:
Path file1 = Paths.of("test.txt");
try (BufferedReader reader = Files.newBufferedReader(path)) {
...
}
这将默认使用 UTF-8,或者您可以根据需要指定编码。
你在这里遗漏了两件事。首先,您必须导入 class:
import java.io.FileReader;
其次,FileReader
是一个 class,不是方法 - 您缺少 new
运算符:
try (BufferedReader bf1 = new BufferedReader(new FileReader(file1))) {
// Here ---------------------------------^
// etc...
所以我今天刚切换到 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
开始:
Path file1 = Paths.of("test.txt");
try (BufferedReader reader = Files.newBufferedReader(path)) {
...
}
这将默认使用 UTF-8,或者您可以根据需要指定编码。
你在这里遗漏了两件事。首先,您必须导入 class:
import java.io.FileReader;
其次,FileReader
是一个 class,不是方法 - 您缺少 new
运算符:
try (BufferedReader bf1 = new BufferedReader(new FileReader(file1))) {
// Here ---------------------------------^
// etc...