java – 为什么FileReader不是NetBeans中的类?

所以我今天刚刚切换到NetBeans,因为我的日食已经崩溃了数万亿次.但是当我在学习阅读文件时,我似乎无法为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之前,你也错过了一个新的东西.这个:

try(BufferedReader bf1 = new BufferedReader(FileReader(file1))){

应该:

try(BufferedReader bf1 = new BufferedReader(new FileReader(file1))){

现在你可能已经习惯了Eclipse为Netbeans自动导入东西 – 查找你提到的类型的普通包(甚至所有包),并提供为你导入它.我不知道这里的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,或者您可以根据需要指定编码.

上一篇:javascript – 如何使用HTML5 File API加密二进制文件并上传到服务器


下一篇:Java练习2--读取txt文件统计考勤次数并写入一个txt文件中