Java中的File

视频链接:黑马Java:File概述

一,浅谈file

 

二,构造方法  

public class FileDemo {
    public static void main(String[] args) {
        //1,根据字符串表示的路径,变成File对象
        String str="C:\\Users\\name\\Desktop\\a.txt";
        File f1=new File(str);
        System.out.println(f1);

        //2,父级路径:C:\Users\name\Desktop
        //子级路径:a.txt
        String parent="C:\\Users\\name\\Desktop";
        String child="a.txt";
        File f2=new File(parent,child);
        System.out.println(f2);

        //3,把一个File表示的路径和String表示的路径进行拼接
        File parent2=new File("C:\\Users\\name\\Desktop");
        String child2="a.txt";
        File f3=new File(parent2,child2);
        System.out.println(f3);
    }
}

三,成员方法

1,判断和获取

1,length返回文件的大小(字节数量) 

细节1:这个方法只能获取文件的大小

             单位是字节。如果单位我们要是M、G,可以不断地除以1024

细节2:这个方法无法获取文件夹大小

             如果我们要获取一个文件夹的大小,需要把这个文件夹里面的所有文件大小都累加

2,getName 获取名字 

细节1:文件(a.txt)

             a  文件名

             txt  后缀名、拓展名

细节2:文件夹

             返回的就是文件夹的名字

2,创建和删除

1,createNewFile  

细节1:如果当前路径表示的文件是不存在的,则创建成功,返回true

             如果当前路径是存在的,则创建失败,返回false

细节2:如果父级路径是不存在的,那么方法会有异常IOException

细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,

             则创建一个没有后缀的文件

 2,mkdir 

细节1:windows当中路径是唯一的,如果当前路径已经存在,则创建失败,返回false

细节2:mkdir方法只能创建单级文件夹,无法创建多级文件夹

3,mkdirs 

细节:既可以创建单级的,又可以创建多级的文件夹

4,delete

细节:

        如果删除的是文件,则直接删除,不走回收站

        如果删除的是空文件夹,则直接删除,不走回收站

        如果删除的是有内容的文件夹,则删除失败

3,获取和遍历

 

四,综合练习 

1,题目

编写一个Java程序,列出指定目录中的所有文件和子目录。

import java.io.File;

public class FileExercise {
    public static void main(String[] args) {
        File directory = new File("C:\\YourDirectoryPath");
        listFilesAndDirectories(directory);
    }

    public static void listFilesAndDirectories(File directory) {
        if (directory.isDirectory()) {
            File[] files = directory.listFiles();
            if (files != null) {
                for (File file : files) {
                    if (file.isDirectory()) {
                        System.out.println("目录:" + file.getName());
                    } else {
                        System.out.println("文件:" + file.getName());
                    }
                }
            }
        } else {
            System.out.println("指定路径不是一个目录。");
        }
    }
}

2,题目

编写一个Java程序,计算指定目录中的文件数量。

import java.io.File;

public class FileExercise {
    public static void main(String[] args) {
        File directory = new File("C:\\YourDirectoryPath");
        int fileCount = countFiles(directory);
        System.out.println("文件数量:" + fileCount);
    }

    public static int countFiles(File directory) {
        if (directory.isDirectory()) {
            File[] files = directory.listFiles();
            if (files != null) {
                int count = 0;
                for (File file : files) {
                    if (file.isFile()) {
                        count++;
                    }
                }
                return count;
            }
        }
        return 0;
    }
}

3,题目

编写一个Java程序,删除指定目录及其所有子目录和文件。

import java.io.File;

public class FileExercise {
    public static void main(String[] args) {
        File directory = new File("C:\\YourDirectoryPath");
        deleteDirectory(directory);
    }

    public static void deleteDirectory(File directory) {
        if (directory.isDirectory()) {
            File[] files = directory.listFiles();
            if (files != null) {
                for (File file : files) {
                    if (file.isDirectory()) {
                        deleteDirectory(file);
                    } else {
                        file.delete();
                    }
                }
            }
            directory.delete();
        } else {
            System.out.println("指定路径不是一个目录。");
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值