我在这段代码中遇到了我不理解的错误。我按照 Java 文档进行了所有设置,但显然我不明白。首先,这里是代码:
import java.io.FileNotFoundException;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
public class CreateTextFile {
private Formatter output; //object used to output text to file
public void openFile() throws FileNotFoundException {
try {
output = new Formatter( "sets.txt" ) { //First Error
@Override
public String format(LogRecord record) {
throw new UnsupportedOperationException("Not supported yet.");
}
}; //open the file
} catch ( SecurityException securityException ) {
System.err.println("You do not have access to this file.");
System.exit(1); //terminate the program
} catch (FileNotFoundException fileNotFoundException) { //second error
}
}
}
第一个错误:
Formatter 类中的构造函数 Formatter 不能应用于给定类型;必需:未找到参数:字符串原因:实际参数列表和形式参数列表的长度不同
我理解错误信息,但我不同意。Formatter 肯定有一个构造函数,它采用单个字符串(见下文)
第二个错误:
Formatter 类中的构造函数 Formatter 不能应用于给定类型;必需:未找到参数:字符串原因:实际参数列表和形式参数列表的长度不同
正如下面的 Java 文档中所述,我在方法声明中抛出 FileNotFoundException。
这直接来自 [http://doc.java.sun.com/DocWeb/api/java.util.Formatter][1]
Formatter(String fileName) throws FileNotFoundException 用指定的文件名构造一个新的格式化程序。
使用的字符集是此 Java 虚拟机实例的默认字符集。
使用的语言环境是此 Java 虚拟机实例的默认语言环境。
fileName 用作此格式化程序目标的文件的名称。如果文件存在,那么它将被截断为零大小;否则,将创建一个新文件。输出将被写入文件并被缓冲。
引发 SecurityException:如果存在安全管理器并且 checkWrite(fileName) 拒绝对文件的写访问
引发 FileNotFoundException:如果给定的文件名不表示现有的、可写的常规文件并且无法创建该名称的新常规文件,或者在打开或创建文件时发生其他错误
不知道如何清除这些错误。任何人都可以帮忙吗?谢谢!