Java—获取对象的大小

Java—获取对象的大小,java,Java,我正在编写一个comparator类,用于比较同一目录中一个文件与另一个文件的文件大小。我很难找到正确的文档来获得文件的大小 现在,我正在查看getObjectSize的文档: 这是我的代码,但它似乎不起作用 public class FileComparator implements Comparator { private static Instrumentation instrumentation; @Override public int compare(O

我正在编写一个comparator类,用于比较同一目录中一个文件与另一个文件的文件大小。我很难找到正确的文档来获得文件的大小

现在,我正在查看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。

您需要使用
file.length()


您当前试图获得的是
文件
对象在RAM中占用的空间,这不是您想要的。

您需要使用
文件.length()


您当前试图获得的是
文件
对象在RAM中占用的空间,这不是您想要的。

您需要使用
文件.length()


您当前试图获得的是
文件
对象在RAM中占用的空间,这不是您想要的。

您需要使用
文件.length()


您当前试图获得的是
文件
对象在RAM中占用的空间,这不是您想要的。

我认为您需要初始化
指令插入
以消除NullPointerException

试试这个:

 public int compare(Object o1, Object o2) {
    instrumentation = o2;
    throw new UnsupportedOperationException("Not supported yet.");

 }

还可以使用
file.length()
,因为您想知道文件对象占用的空间

我认为您需要初始化
指令插入以消除NullPointerException

试试这个:

 public int compare(Object o1, Object o2) {
    instrumentation = o2;
    throw new UnsupportedOperationException("Not supported yet.");

 }

还可以使用
file.length()
,因为您想知道文件对象占用的空间

我认为您需要初始化
指令插入以消除NullPointerException

试试这个:

 public int compare(Object o1, Object o2) {
    instrumentation = o2;
    throw new UnsupportedOperationException("Not supported yet.");

 }

还可以使用
file.length()
,因为您想知道文件对象占用的空间

我认为您需要初始化
指令插入以消除NullPointerException

试试这个:

 public int compare(Object o1, Object o2) {
    instrumentation = o2;
    throw new UnsupportedOperationException("Not supported yet.");

 }

还可以使用
file.length()
,因为当您获得NullPointerException时,您想知道文件对象占用的空间,请读取堆栈跟踪。它将告诉您什么是null,以及错误发生在哪一行。(这适用于许多(如果不是所有的话)运行时异常。我认为您的具体问题是,
指令插入
尚未初始化。而且,该方法与文件大小无关。请使用
file.length()
。返回由该抽象路径名表示的文件的长度(以字节为单位),如果该文件不存在,则返回0L。当您获得NullPointerException时,读取堆栈跟踪。它将告诉您什么是null,以及错误发生在哪一行。(这适用于许多(如果不是所有的话)运行时异常。我认为您的具体问题是,
指令插入
尚未初始化。而且,该方法与文件大小无关。请使用
file.length()
。返回由该抽象路径名表示的文件的长度(以字节为单位),如果该文件不存在,则返回0L。当您获得NullPointerException时,读取堆栈跟踪。它将告诉您什么是null,以及错误发生在哪一行。(这适用于许多(如果不是所有的话)运行时异常。我认为您的具体问题是,
指令插入
尚未初始化。而且,该方法与文件大小无关。请使用
file.length()
。返回由该抽象路径名表示的文件的长度(以字节为单位),如果该文件不存在,则返回0L。当您获得NullPointerException时,读取堆栈跟踪。它将告诉您什么是null,以及错误发生在哪一行。(这适用于许多(如果不是所有的话)运行时异常。我认为您的具体问题是,
指令插入
尚未初始化。而且,该方法与文件大小无关。请使用
file.length()
。返回由该抽象路径名表示的文件的长度(以字节为单位),如果该文件不存在,则返回0L。