Java的File文件流

File文件流

File类:一个File类对象可以代表具体的一个文件

创建文件或文件夹

  • 创建文本文件

    • createNewFile();
  • 创建文件夹

    • mkdir();
  • 创建多级文件夹

    • mkdirs();
package com.cnblogs;

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

public class Application {
    public static void main(String[] args) {
        //创建file对象
        File file1 = new File("E:\\study\\1.txt");
        //创建文件1.txt
        try {
            //创建一个新的普通文件,存在文件就不创建,返回0(文件创建失败)
            boolean flog1 = file1.createNewFile();
            System.out.println(flog1 ? "文件创建成功!" : "文件创建失败!");
            //创建一个新的文件夹,存在文件夹就不创建,返回0(文件创建失败)
            File file2 = new File("E:\\study\\qi");
            boolean flog2 = file2.mkdir();
            System.out.println(flog2 ? "文件夹创建成功!" : "文件夹创建失败!");
            //创建多级文件夹,存在多级文件夹就不创建,返回0(文件创建失败)   有一级文件夹不同就能创建成功返回1
            File file3 = new File("E:\\study\\b\\d");
            boolean flog3 = file3.mkdirs();
            System.out.println(flog3 ? "多级文件夹创建成功!" : "多级文件夹创建失败!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

删除文件或文件夹

  • 删除文件或者文件夹
    • delete();
package com.cnblogs;

import java.io.File;

public class Application {
    public static void main(String[] args) {
        File file1 = new File("E:\\study\\1.txt");
        boolean flog1 = file1.delete();
        System.out.println(flog1 ? "删除成功!" : "删除失败!");
    }
}

查询文件

  • 判断某个路径的文件是否存在

    • exists();
  • 获取文件大小

    • length();
  • 获取文件名

    • getName();
  • 获取文件路径

    • getPath();
package com.cnblogs;

import java.io.File;

public class Application {
    public static void main(String[] args) {
        try {
            File file1 = new File("E:\\study\\app");
            boolean flog1 = file1.exists();
            if(flog1){
                System.out.println("文件存在,不需要创建!");
            }else{
                file1.mkdir();
                System.out.println("文件创建成功!");
            }

            File file2 = new File("E:\\study\\21.txt");
            boolean flog2 = file2.createNewFile();
            System.out.println(flog2 ? "文件创建成功!" : "文件创建失败!");
            long size = file2.length();
            //刚刚创建问输出为0,在文件中输入abc后输出3,文件中重新输入中国后输出为6
            System.out.println("size=" + size);
            //获取文件名
            String name = file2.getName();
            System.out.println(name);//21.txt
            //获取文件的路径
            String path = file2.getPath();
            System.out.println(path);//E:\study\21.txt
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

补充方法

package com.cnblogs;

import java.io.File;

/*
本类用于测试file的常用方法
 */
public class TestFile {
    public static void main(String[] args) {
        File file = new File("E:\\ready\\1.txt");
        System.out.println(file.isFile());//这个是文件吗  true
        System.out.println(file.isDirectory());//这个是文件夹吗    false
        System.out.println(file.getParent());//获取父级路径   E:\ready
        System.out.println(file.getAbsoluteFile());//获取绝对路径     E:\ready\1.txt
    }
}

遍历文件夹(递归)

package com.cnblogs;

import java.io.File;

public class Application {
    public static void main(String[] args) {
        Application.showFile("D:\\");
    }

    public static void showFile(String pathname){
        File file1 = new File(pathname);
        boolean flag1 = file1.isDirectory();
        if(flag1){
            File[] files = file1.listFiles();
            for(int i = 0 ; files != null && i < files.length; i++){
                boolean flog2 = files[i].isDirectory();
                if(flog2){
                    showFile(files[i].getPath());
                }else{
                    String filePath = file1.getPath();
                    System.out.println("普通文件 -->" + filePath);
                }
            }
        }else{
            String filePath = file1.getPath();
            System.out.println("普通文件 -->" + filePath);
        }
    }
}
posted @ 2021-07-16 09:17  贪玩的阿柒  阅读(907)  评论(0编辑  收藏  举报