gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 01:50:39 25 4
gpt4 key购买 nike

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com