Java新手学习 2021-2-18 记录每天学习内容(如有侵权请联系删除!!!)

2021-2-18

1.File简述

在这里插入图片描述

2.File概述和构造

在这里插入图片描述

package com.wc.file;

import java.io.File;

/**
 * @author wc
 * @Date: 2021/02/18/15:46
 */
public class MyFile {
    
    
    public static void main(String[] args) {
    
    
        //method1();
        //method2();
        //method3();
    }

    private static void method3() {
    
    
        File file1=new File("D:\\干休所");
        String path2="a.txt";
        File file = new File(file1,path2);
        System.out.println(file);
    }

    private static void method2() {
    
    
        //父路径和子路径进行拼接
        String path1="D:\\干休所";
        String path2="a.txt";
        File file=new File(path1,path2);
        System.out.println(file);
    }
    
    private static void method1() {
    
    
        //为什么要将字符串表示的路径变成file对象
        //为了使用file类中的方法(增,删)
        //将给定的路径名字字符串转为抽象的路径名来创建新的file
        String path="D:\\干休所\\a.txt";
        File file=new File(path);
        System.out.println(file);
    }
}

3.File类的创建功能(createNewfile,mkdirs)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.File的判断和获取功能(isDirectory,isfile,exists,getName)

在这里插入图片描述
在这里插入图片描述

5.File类高级获取功能(listFiles)

在这里插入图片描述

6.File练习

在这里插入图片描述

package com.wc.file;

import java.io.File;
import java.io.IOException;

/**
 * @author wc
 * @Date: 2021/02/18/17:13
 */
public class MyFile2 {
    
    
    public static void main(String[] args) throws IOException {
    
    

//        File file=new File("Stream\\aaa\\a.txt");
//        file.createNewFile();
        /* file.createNewFile();方法创建文件所在的文件夹必须存在,
        而此时aaa文件夹不存在*/

        File file = new File("Stream\\aaa");
        //如果文件夹不存在,则创建文件夹
        if (!file.exists()){
    
    
            file.mkdirs();
        }
        File file1 = new File(file,"a.txt");
        file1.createNewFile();
    }
}

在这里插入图片描述

package com.wc.file;

import java.io.File;

/**
 * @author wc
 * @Date: 2021/02/18/17:31
 */
public class MyFile3 {
    
    
    public static void main(String[] args) {
    
    
        //删除一个多层文件夹,delete方法
        //只能删除文件和空文件夹
        //如果要删除一个有内容的文件夹
        //先删掉这个文件夹的所有内容
        //最后再删掉这个文件夹
        File src=new File("D:\\src");
        deleteDir(src);
    }
    private static void deleteDir(File src) {
    
    
        //先删掉文件夹的所有内容
        //获取所有文件夹
        File[] files = src.listFiles();
        //遍历
        for (File file : files) {
    
    
            if (file.isFile()){
    
    
                file.delete();
            }else {
    
    
                //参数一定要是src文件夹的file对象,递归file,防止里面有文件夹
                deleteDir(file);
            }
        }
        //最后删除这个文件夹
        src.delete();
    }
}

在这里插入图片描述

package com.wc.file;

import java.io.File;
import java.util.HashMap;

/**
 * @author wc
 * @Date: 2021/02/19/9:24
 */
public class MyFile4 {
    
    
    public static void main(String[] args) {
    
    
        //统计一个文件夹中,每种文件出现的次数
        File file = new File("Stream");
        HashMap<String, Integer> hm = new HashMap<>();
        getFileCount(hm, file);
        System.out.println(hm);
    }

    private static void getFileCount(HashMap<String, Integer> hm, File file) {
    
    
        //获取所有文件
        File[] files = file.listFiles();
        for (File f : files) {
    
    
            //如果是文件,首先获取文件的后缀名
            if (f.isFile()){
    
    
                String fileName = f.getName();
                String[] fileNameArr = fileName.split("\\.");
                if (fileNameArr.length==2){
    
    
                    //通过.分割,获取文件的后缀
                    String fileEndName = fileNameArr[1];
                    //判断一下当前文件在不在
                    if (hm.containsKey(fileEndName)){
    
    
                        Integer count = hm.get(fileEndName);
                        count++;
                        hm.put(fileEndName,count);
                    }else {
    
    
                        //没有出现的文件名设置次数为1
                        hm.put(fileEndName,1);
                    }
                }
            }else {
    
    
                //文件夹,递归
                getFileCount(hm, f);
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_49221590/article/details/113847804