Java 为什么FileReader不是NetBeans中的一个类?
所以我今天就切换到了NetBeans,因为我的eclipse已经崩溃了数亿次。但是,当我在学习阅读文件时,我似乎无法为Java 为什么FileReader不是NetBeans中的一个类?,java,eclipse,netbeans,filereader,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 fi
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;
正如提图斯所指出的,在使用FileReader
之前,您还缺少一个new
。这:
try(BufferedReader bf1 = new BufferedReader(FileReader(file1))){
应该是:
try(BufferedReader bf1 = new BufferedReader(new FileReader(file1))){
现在,您可能已经习惯于Eclipse为您自动导入东西,而不是Netbeans—查找您提到的类型的通用包(甚至所有包),并提供为您导入它。我不知道这里的Netbeans功能,但如果它有点不同,我也不会感到惊讶
我还建议您避免使用FileReader
,因为它不允许您指定用于读取文件的编码。在Java 7中,有一种更方便的方法:
或者从路径开始:
Path file1 = Paths.of("test.txt");
try (BufferedReader reader = Files.newBufferedReader(path)) {
...
}
默认情况下,这将使用UTF-8,或者您可以根据需要指定编码。这里缺少两件事。首先,必须导入该类:
import java.io.FileReader;
其次,FileReader
是一个类,而不是一个方法-您缺少了new
操作符:
try (BufferedReader bf1 = new BufferedReader(new FileReader(file1))) {
// Here ---------------------------------^
// etc...
您缺少了
新的
,它应该是新文件阅读器(file1)
。我有一个疑问。我使用eclipse,它建议我在必要时导入一个包。netbeans没有显示这样的建议吗???@MathewsMathai:正如我所说,我不知道这里的功能——如果不同的选项也会影响它,我也不会感到惊讶。@JonSkeet我现在觉得自己太愚蠢了!谢谢你的解释,这些解释远远不止!!
try (BufferedReader bf1 = new BufferedReader(new FileReader(file1))) {
// Here ---------------------------------^
// etc...