我正在编写一个比较器类,它将一个文件的文件大小与同一目录中的另一个文件进行比较。我无法找到正确的文档来获取文件的文件大小。
现在我正在查看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。
答案 0 :(得分:2)
您需要使用file.length()
。
您目前想要获得的是file
对象在RAM中占用多少空间,不您想要的内容。
答案 1 :(得分:1)
我认为你需要初始化instrumentation
以摆脱NullPointerException
试试这个:
public int compare(Object o1, Object o2) {
instrumentation = o2;
throw new UnsupportedOperationException("Not supported yet.");
}
还要使用file.length()
,因为您想知道文件对象占用的空间