Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用文件类确定文件大小_Java - Fatal编程技术网

Java 使用文件类确定文件大小

Java 使用文件类确定文件大小,java,Java,我正在玩java中的file类。我试图确定文件的大小,所以使用length()方法。对于我使用的给定代码,我的输出为0 File test=new File("hello.pdf"); System.out.println(test.length()); 首先,我是否正确地使用了长度?(比如,它决定了文件的大小,还是我读取的javadocs错误?) 第二,如果我在正确的上下文中使用了长度,为什么它是0?谢谢。目录中有hello.pdf文件吗?如果没有,那么您刚刚创建了一个空的,长度为0字节。试

我正在玩java中的file类。我试图确定文件的大小,所以使用length()方法。对于我使用的给定代码,我的输出为0

File test=new File("hello.pdf");
System.out.println(test.length());
首先,我是否正确地使用了长度?(比如,它决定了文件的大小,还是我读取的javadocs错误?)


第二,如果我在正确的上下文中使用了长度,为什么它是0?谢谢。

目录中有hello.pdf文件吗?如果没有,那么您刚刚创建了一个空的,长度为0字节。

试试这个

File test=new File("hello.pdf");

if(test.exists()){
 double bytes = test.length();
 double kilobytes = (bytes / 1024);
 double megabytes = (kilobytes / 1024);

 System.out.println("bytes : " + bytes);
 System.out.println("kilobytes : " + kilobytes);
 System.out.println("megabytes : " + megabytes);
}else{
 System.out.println("File does not exists!");
}

您也可以这样做:Files.size(新文件(filename).toPath())。是的,它返回零,因为它是一个空文件。它的长度是多少?如果你告诉Java new File(“hello.pdf”),它可能会在你的主目录中创建一个空pdf。我不确定它的长度是多少,因为它一直返回0。还有其他方法可以查看它吗?使用文件资源管理器,如Windows资源管理器、Mac上的查找器、命令行或控制台,等等。有无数种方法可以找到文件的长度。@用户2910237在使用文件对象时总是指定文件的完整路径。并始终使用exists()作为Bishan的答案。如果不使用完整路径,则使用的是当前目录或主目录。