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


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

    思路:获取文件的大小,即文件名.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的操作。

  • 相关阅读:
    DOS命令收集
    iis6配置支持.net4.0
    正则表达式限制文本框
    剖析XML(第一讲)
    DataTime.ToString("xx") 转换
    .net面试题大汇集
    django学习笔记(一)
    django学习笔记(一)
    django学习笔记(二)
    django学习笔记(二)
  • 原文地址:https://www.cnblogs.com/yangxiao-/p/11818387.html
Copyright © 2020-2023  润新知