java - 为什么 FileReader 不是 NetBeans 中的一个类?

标签 java eclipse netbeans filereader

所以我今天刚切换到 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/

相关文章:

android - 导入android项目时出现问题

在 Windows 上的 NetBeans 中从 C 项目创建 EXE 输出?

Java Netbeans : Splitting a string using regular expressions

java - ChannelInboundMessageHandlerAdapter 找不到符号

java - 计算数学底数

Java 编译器用 + 连接替换 StringBuilder

java - Drools 8.x Java 8 兼容性

java - 实现服务器推送

android - ADT 插件在 Eclipse 中消失了

java - 如何将其嵌入到我的网站中?