【发布时间】:2013-12-08 20:27:49
【问题描述】:
我正在编写一个比较器类,它将一个文件的文件大小与同一目录中的另一个文件进行比较。我无法找到正确的文档来获取文件的文件大小。
现在我正在查看 getObjectSize 的文档:
这是我的代码,但它似乎不起作用。
public class FileComparator implements Comparator {
private static Instrumentation instrumentation;
@Override
public int compare(Object o1, Object o2) {
throw new UnsupportedOperationException("Not supported yet.");
}
static long getObjectSize(Object objectToSize) {
return instrumentation.getObjectSize(objectToSize);
}
}
public class Comparison {
public static void main(String[] args) {
File file = new File("src/Dummy1.pdf");
System.out.println(FileComparator.getObjectSize(file));
}
}
我得到一个 NullPointerException 抛出。
【问题讨论】:
-
当您收到 NullPointerException 异常时,请阅读堆栈跟踪。它会告诉你什么是空的,以及错误发生在哪一行。 (这适用于许多(如果不是全部)运行时异常)。我认为您的具体问题是
instrumentation尚未初始化。 -
另外,该方法与文件大小无关。
-
使用
file.length()。 返回此抽象路径名表示的文件的长度(以字节为单位),如果文件不存在,则返回 0L。
标签: java