java基础——File类的基本用法

package file;

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

import org.junit.jupiter.api.Test;



/*
 * File类的使用
 * 1.File类的一个对象,代表代表一个文件或文件目录,这个文件不一定要实际存在
 * 2.路径
 *       相对路径:相对于当前工作环境的路径
 *       绝对路径:存在盘符内的路径,注意要用转义字符\
 * 3.四种构造方式
 * 
 *  如下两个方式适用于文件目录
 * public String[] list() : 得到目录下所有文件或文件目录的名称数组
 * public File[] listFiles() : 得到目录下所有文件或文件目录的File数组
 * */

public class FileTest {
    
    //四种创建文件方式
    @Test
    public void test1() {
        File file1 = new File("hello.txt");
        File file2 = new File("D:\a\1.txt");
        File file3 = new File("D:\a","b");
        File file4 = new File(file3,"c.txt");
        System.out.println(file4);
    }
    
    //File类 get方法
    @Test
    public void test2() {
        File file1 = new File("hello.txt");
        File file2 = new File("d:\io\hi.txt");
        System.out.println(file2.getAbsolutePath());
        System.out.println(file2.getPath());
        System.out.println(file2.getName());
        System.out.println(file2.getParent());
        System.out.println(file2.length());
        System.out.println(file2.lastModified());
    
    }
    
    //ls获得目录下所有的文件
    @Test
    public void test3() {
        File file = new File("C:\Users\ASUS\Desktop\JAVAEE\practice\IO_FIle");
        String [] list = file.list();
        for(String s: list)
            System.out.println(s);
        
        System.out.println("");
        
        File[] listFiles = file.listFiles();
        for(File f: listFiles)
            System.out.println(f);
    }
    
    /*
     * 文件重命名
     * file1.renameTo(file2) :把文件重命名为指定的文件路径
     * 这个方法运行成功的要求:file1存在,file2不存在
     * 
     * */
    @Test
    public void test4() {
        File file1 = new File("1.txt");
        System.out.println(file1.length());
        File file2 = new File("C:\Users\ASUS\Desktop\JAVAEE\practice\IO_FIle\2.txt");
        boolean renameTo = file1.renameTo(file2);
        System.out.println(renameTo);
    }
    
    //File类判断方法
    @Test
    public void test5() {
        File file = new File("2.txt");
        System.out.println(file.isDirectory());
        System.out.println(file.isFile());
        System.out.println(file.exists());
        System.out.println(file.canRead());
        System.out.println(file.canWrite());
        System.out.println(file.isHidden());
    }
    
    /*
     * 文件的创建与删除
     * 注意:删除不走回收站,且这个文件必须存在
     * */
    @Test
    public void test6() throws IOException {
        File file = new File("3.txt");
        if(!file.exists()) {
            file.createNewFile();
            System.out.println("创建成功");
        }
        else {
            file.delete();
            System.out.println("删除成功");
        }
    }
    
    /*
     * 创建目录:只创建一层:mkdir
     *                递归创建:mkdirs
     * */
    @Test
    public void test7() {
        File file1 = new File("io");
        boolean mkdir1 = file1.mkdir();
        if(mkdir1)
            System.out.println("创建成功1");
        
        File file2 = new File("io\io1\io2");
        boolean mkdir2 = file2.mkdirs();
        if(mkdir2)
            System.out.println("创建成功2");
        
    }

    /*
     * 创建文件
     * */
    @Test
    public void test8() throws IOException {
        File file1 = new File("io\io1\hello.txt");
        File file2 = new File("io\io1\haha.txt");
        if(!file1.exists()) {
            file1.createNewFile();
            System.out.println("创建成功");
        }
        if(!file2.exists()) {
            file2.createNewFile();
            System.out.println("创建成功");
        }
    }
    
    /*
     * 查找满足条件的文件:后缀是 .jpg
     * */
    @Test
    public void test9() throws IOException {
        File file = new File("io\io1\a.jpg");
        if(!file.exists()) {
            file.createNewFile();
            System.out.println("创建成功");
        }
        
        File file1 = new File("io\io1");
        String [] s = file1.list();
        for(String  ss : s) {
            if(ss.endsWith(".jpg"))
                System.out.println(ss);
        }
    }
    
    
    /*
     * 遍历文件目录树
     * */
    static void walk(File file) {
        File filelist[] = file.listFiles();
        for(File f:filelist) {
            if(f.isDirectory()) {
                walk(f);
            }
            else {
                System.out.println(f);
            }
        }
    }
    
    @Test
    public void test10() {
        File file = new File("io");
        walk(file);
    }
}
原文地址:https://www.cnblogs.com/zsben991126/p/12160549.html