我已经在寻找类似的方法,但是我找不到答案,因为这些职位大约3或4岁,并且由于我的声誉低下而无法向那里的人提问。
`
File file1 = new File("file1.txt");
File file2 = new File("file2.txt");
boolean isTwoEqual = FileUtils.contentEquals(file1,file2);
{
if (isTwoEqual == true)
System.out.println("You have no new grades");
else
System.out.println("You have new grade.");
}`
所以我需要检查两个.txt文件是否相等。 我收到一条错误消息:“默认构造函数无法处理隐式超级构造函数引发的异常类型ioexception” 任何想法如何解决这一问题?
答案 0 :(得分:1)
该错误表示您正在进行此操作:
public class SomeParentClass {
public SomeParentClass() throws IOException {
// This is a parent class; maybe you wrote it, maybe you're using one.
// note: It declares that it throws IOException!
}
}
您正在写:
public class MyClass extends SomeParentClass {}
问题如下:您编写的任何类都必须至少具有一个构造函数。请注意,“ MyClass”具有零个定义的构造函数;当您这样做并尝试编译该文件时,javac会为您创建一个。 Javac是非常可预测的。它总是使该构造函数:
public MyClass() {
super();
}
在这里也是。不幸的是,这是一个问题:super()
调用会引发IOException,因此您需要处理该异常。解决此问题的最简单方法是编写自己的实际构造函数。不要依靠javac为您服务。因此,添加以下内容:
public MyClass() throws IOException {
super();
}
,编译器错误将消失。