• 课后作业----计算文件的大小


    经过几天的学习,对文件的知识了解了一些。现在来完成课后作业

    思路:获取文件的大小,即文件名.length() (即字节长度),但是该方法只适用于文件,而不适用于文件夹,如果用于文件的话则,返回的长度为0.

      补充:文件名.length()为0有两种情况:(1):该文件不存在(2):该文件是文件夹

      所以,再求文件的大小,既要考虑文件是否存在,也要考虑是否为文件夹,如果是文件夹的话,则需要把它的子文件求出,可用文件名.listFiles()方法,但是记住,该方法只是返回一层文件,有可能你的子文件也是文件夹,所以这个时候就需要递归方法。

      补充:文件.list()方法是获取子文件的文件名,也是一层。

    package com.testHomework;
    
    import java.io.File;
    
    public class getFileLength {
        public static void main(String[] args) {
            
            // 获取文件
            File file = new File("E:/QQ文件");
            long length = getLength(file);
            System.out.println(length);
        }
        static long length = 0;
        public static long getLength(File file) {
            /*
             *  long length = 0; 
             *   这是错误的代码
             */
            if(null!=file&&file.exists()) {
                if(file.isFile()) { // 如果是文件,则获取文件的大小
                    length += file.length();
                }else { //如果是文件夹的化,则获取取子孙文件
                    File[] subfiles = file.listFiles();
                    // 遍历子孙文件
                    for(File f:subfiles) {
                        getLength(f);
                    }
                }
            }
            return length;
        }
    }

    上代码:运行结果:  文件大小:

    代码反思:刚开始写时,返回的长度一直为0,原因是我把length变量放到方法里,以至于它每次调用函数执行一次赋0的操作。

  • 相关阅读:
    机器学习-Matplotlib绘图(柱状图,曲线图,点图)
    人工智能-机器学习之numpy方法
    爬虫解码~以及我的一些小经验
    django-子项目
    Django-模板语法
    Django-cookie的保存以及删除操作
    django-路由
    响应式瀑布流
    原生js实现最简单的瀑布流布局
    原生js用div实现简单的轮播图
  • 原文地址:https://www.cnblogs.com/yangxiao-/p/11818387.html
Copyright © 2020-2023  润新知