You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java文件大小差值计算方法调用后无输出问题求助

文件大小差值方法无输出问题解决

问题说明

我编写了一个计算两个文件大小差值的diffSize方法,但在Main中调用后终端没有任何输出,不清楚为何diffSize的返回值未被利用。

方法代码

public static long diffSize(String File01, String File02){
    //获取第一个文件路径
    File file = new File(File01);
    //获取第二个文件路径
    File file2 = new File(File02);

    //获取第一个文件大小
    long bytes = file.length();
    //获取第二个文件大小
    long bytes2 = file2.length();

    //计算差值并返回
    return bytes-bytes2;
}

Main调用代码

extensions.diffSize("C:\\Users\\katra\\IdeaProjects\\MP1.1\\references\\epfl.png","C:\\Users\\katra\\IdeaProjects\\MP1.1\\references\\epfl.qoi" );

问题原因

你只是调用了方法,但没有对方法返回的结果做任何处理——Java不会自动把方法返回值输出到终端,必须主动打印或者使用这个值才会有输出。

解决办法

方式1:直接打印返回值

把调用代码改成直接打印方法的返回结果:

System.out.println(extensions.diffSize("C:\\Users\\katra\\IdeaProjects\\MP1.1\\references\\epfl.png","C:\\Users\\katra\\IdeaProjects\\MP1.1\\references\\epfl.qoi" ));

方式2:先存变量再打印

如果需要后续使用这个差值,可以先把返回值赋值给变量,再打印:

long sizeDifference = extensions.diffSize("C:\\Users\\katra\\IdeaProjects\\MP1.1\\references\\epfl.png","C:\\Users\\katra\\IdeaProjects\\MP1.1\\references\\epfl.qoi" );
System.out.println("两个文件的大小差值为:" + sizeDifference + " 字节");

额外优化:添加异常处理

当前方法没有处理文件不存在的情况,如果路径错误或文件丢失,file.length()会返回0,导致结果不准确。可以给方法添加异常处理:

import java.io.File;
import java.io.FileNotFoundException;

public static long diffSize(String File01, String File02) throws FileNotFoundException {
    File file = new File(File01);
    File file2 = new File(File02);
    
    //检查文件是否存在
    if (!file.exists()) {
        throw new FileNotFoundException("找不到文件:" + File01);
    }
    if (!file2.exists()) {
        throw new FileNotFoundException("找不到文件:" + File02);
    }
    
    long bytes = file.length();
    long bytes2 = file2.length();
    return bytes - bytes2;
}

调用时捕获异常,避免程序崩溃:

try {
    long diff = extensions.diffSize("C:\\Users\\katra\\IdeaProjects\\MP1.1\\references\\epfl.png","C:\\Users\\katra\\IdeaProjects\\MP1.1\\references\\epfl.qoi" );
    System.out.println("文件大小差值:" + diff + " 字节");
} catch (FileNotFoundException e) {
    System.err.println("错误:" + e.getMessage());
}

内容的提问来源于stack exchange,提问作者KATCHAW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 09:45:32