Java教程

JAVA 中级 / I/O / I/O系列教材 (一)- JAVA 的FILE类,以及常用方法

本文主要是介绍JAVA 中级 / I/O / I/O系列教材 (一)- JAVA 的FILE类,以及常用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

练习-遍历文件夹(非递归)

练习-遍历子文件夹(递归)


JAVA 中级 / I/O / I/O系列教材 (一)- JAVA 的FILE类,以及常用方法

练习-遍历文件夹(非递归)

package file;
   
import java.io.File;
   
public class TestFile {
   
    public static void main(String[] args) {
        File f = new File("c:\\windows");
        File[] fs = f.listFiles();
        if(null==fs)
            return;
        long minSize = Integer.MAX_VALUE;
        long maxSize = 0;
        File minFile = null;
        File maxFile = null;
        for (File file : fs) {
            if(file.isDirectory())
                continue;
            if(file.length()>maxSize){
                maxSize = file.length();
                maxFile = file;
            }
            if(file.length()!=0 && file.length()<minSize){
                minSize = file.length();
                minFile = file;
            }
        }
        System.out.printf("最大的文件是%s,其大小是%,d字节%n",maxFile.getAbsoluteFile(),maxFile.length());
        System.out.printf("最小的文件是%s,其大小是%,d字节%n",minFile.getAbsoluteFile(),minFile.length());
   
    }
}

练习-遍历子文件夹(递归)

        使用递归来进行文件夹的遍历。

package file;
   
import java.io.File;
   
public class TestFile {
      
    static long minSize = Integer.MAX_VALUE;
    static long maxSize = 0;
    static File minFile = null;
    static File maxFile = null;
      
    //使用递归来遍历一个文件夹的子文件
    public static void listFiles(File file){
        if(file.isFile()){
            if(file.length()>maxSize){
                maxSize = file.length();
                maxFile = file;
            }
            if(file.length()!=0 && file.length()<minSize){
                minSize = file.length();
                minFile = file;
            }
            return;
        }
          
        if(file.isDirectory()){
            File[] fs = file.listFiles();
            if(null!=fs)
            for (File f : fs) {
                listFiles(f);
            }
        }
    }
   
    public static void main(String[] args) {
        File f = new File("c:\\windows");
        listFiles(f);
        System.out.printf("最大的文件是%s,其大小是%,d字节%n",maxFile.getAbsoluteFile(),maxFile.length());
        System.out.printf("最小的文件是%s,其大小是%,d字节%n",minFile.getAbsoluteFile(),minFile.length());
   
    }
}

        for (File f : fs)  f可能也是文件夹,继续递归下去。

这篇关于JAVA 中级 / I/O / I/O系列教材 (一)- JAVA 的FILE类,以及常用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!