Java File类学习 文件常用操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26841579/article/details/82051786

1,File 是什么?
文件对象,用来操作文件夹/文件的对象,文件对象代表磁盘中实际存在的文件和目录


常用操作方法:

        File f=new File();
        //文件是否存在
           f.exists();      
        //是否是文件夹
           f.isDirectory();        
        //是否是文件(非文件夹)
           f.isFile();       
        //文件长度
           f.length();        
        //文件最后修改时间
          f.lastModified();
        //设置文件修改时间
         f.setLastModified(0);
        //重命名
         f.renameTo(f2);// File f2 =new File("/完整路径/文件名.txt");
         // 以字符串数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
        f.list();
        // 以文件数组的形式,返回当前文件夹下的所有文件(不包含子文件及子文件夹)
        File[]fs= f.listFiles();
        // 以字符串形式返回获取所在文件夹
        f.getParent();
        // 以文件形式返回获取所在文件夹
        f.getParentFile();
        // 创建文件夹,如果父文件夹不存在,创建就无效
        f.mkdir();
        // 创建文件夹,如果父文件夹不存在,就会创建父文件夹
        f.mkdirs();
        // 创建一个空文件,如果父文件夹不存在,就会抛出异常
        f.createNewFile();
        // 所以创建一个空文件之前,通常都会创建父目录
        f.getParentFile().mkdirs();
        // 列出所有的盘符c: d: e: 等等
        f.listRoots();
        // 刪除文件
        f.delete();
        // JVM结束的时候,刪除文件,常用于临时文件的删除
        f.deleteOnExit();



    下面给个实例:找出kugou文件夹里面最大(最小)的文件。以及浏览所有的子目录下的文件
import java.io.File;

public class Main {

    public static void main(String[] args) {
        String filepath="E:/KuGou/";
        File f = new File("E:/KuGou");
        File f1;
        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()) {//是否是文件夹
                f1 = new File(filepath+file.getName());//取得子文件夹,拼接路径。再找出子文件下面的文件
                 File[] f1c=f1.listFiles();
                for (File a : f1c) {
                    System.out.println("子文件夹"+file.getName()+"下的所有文件"+a.getName());
                  }

            }
            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());
    }
}




子文件夹KugouMusic下的所有文件clean bandit、demi lovato - Solo (DJ版).kgm
子文件夹KugouMusic下的所有文件卢冠廷 - 一生所爱.kgm
子文件夹KugouMusic下的所有文件周杰伦 - 不爱我就拉倒.kgm
子文件夹KugouMusic下的所有文件孙楠、韩红 - 美丽的神话.kgm
子文件夹KugouMusic下的所有文件王力宏、范晓萱 - 雪人.kgm
子文件夹KugouMusic下的所有文件萧敬腾 - 百里守约.kgm
子文件夹KugouMusic下的所有文件袁娅维 - 说散就散.kgm
最大的文件是E:\KuGou\周柏豪.jpg,其大小是456,135字节
最小的文件是E:\KuGou\于毅.jpg,其大小是2,137字节

最后推荐一个学习地址:很不错的学习网站

猜你喜欢

转载自blog.csdn.net/qq_26841579/article/details/82051786