Java基础巩固系列 File

File类概述:

 

代码示例:

/**
 * java.io.File类
 * 1.凡是与输入、输出相关的类、接口都定义在java.io包下
 * 2.File是一个类,可以有构造器创建其对象。此对象对应着一个文件(.txt .avi .doc .ppt .mp3 .jpg)或文件目录
 * 3.File类对象是与平台无关的。
 * 4.File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及文件的内容的,File是无能为力的,必须由IO流来完成。
 * 5.File类的对象常作为IO流的具体类构造器的形参。
 */
public class TestFile {
    /*
    *   createNewFile() 创建文件 有后缀名的
        delete()
        mkDir() :创建一个文件目录。只有在上层文件目录存在的情况下,才能返回true
        mkDirs():创建一个文件目录。若上层文件目录不存在,一并创建
        list() 这是字符串形式返回
        listFiles() 这是File数组形式返回
    * */
    @Test
    public void test3() throws IOException {
        File file1 = new File("D:/IO/helloworld.txt");
        System.out.println(file1.delete());
        if (!file1.exists()){
            boolean b = file1.createNewFile();
            System.out.println(b);
        }

        File file2 = new File("D:\\IO1\\IO2");
        if (!file2.exists()){
            boolean b = file2.mkdirs();
            System.out.println(b);
        }

        File file3 = new File("D:\\Android");
        String[] strings =  file3.list();
        for (String str : strings) {
            System.out.println(str);
        }

        System.out.println();

        File[] files = file3.listFiles();
        for (File file : files) {
            System.out.println(file.getName());
        }
    }

    /*
    *   exists()
        canWrite()
        canRead()
        isFile()
        isDirectory()
        lastModified()
        length()
    * */
    @Test
    public void test2() {
        File file1 = new File("D:/IO/helloworld.txt");
        File file2 = new File("D:\\IO\\IO1");

        System.out.println(file1.exists());
        System.out.println(file1.canWrite());
        System.out.println(file1.canRead());
        System.out.println(file1.isFile());
        System.out.println(file1.isDirectory());
        System.out.println(new Date(file1.lastModified()));
        System.out.println(file1.length());

        System.out.println();

        System.out.println(file2.exists());
        System.out.println(file2.canWrite());
        System.out.println(file2.canRead());
        System.out.println(file2.isFile());
        System.out.println(file2.isDirectory());
        System.out.println(new Date(file2.lastModified()));
        System.out.println(file2.length());
    }

    /*
     * 路径:
     *   绝对路径:包括盘符在内的完整的文件路径
     *   相对路径:在当前文件目录下的文件的路径
     *
     *   getName()
         getPath()
         getAbsoluteFile()
         getAbsolutePath()
         getParent()
         renameTo(File newName)
     * */
    @Test
    public void test1() {
//        File file1 = new File("d:\\io\\helloworld.txt");
        File file1 = new File("D:/IO/Peter.txt");//绝对路径
        File file2 = new File("hello2.txt"); //相对路径
        File file3 = new File("D:\\IO\\IO1");
        File file4 = new File("D:\\io2");

        System.out.println(file1.getName());
        System.out.println(file1.getPath());
        System.out.println(file1.getAbsoluteFile());
        System.out.println(file1.getParent());
        System.out.println(file1.getAbsolutePath());

        System.out.println();

        System.out.println(file3.getName());
        System.out.println(file3.getPath());
        System.out.println(file3.getAbsoluteFile());
        System.out.println(file3.getParent());
        System.out.println(file3.getAbsolutePath());

        System.out.println();
        //renameTo(File newName)重命名
//        file1.renameTo(file2);  //file1重命名为file2 要求:file1文件一定要存在,file2一定不存在
        boolean b = file1.renameTo(file2);  //没限制绝对路径或者相对路径
        System.out.println(b);  //结果:file1在绝对路径上的.txt文件不见了,出现了在相对路径上并且名字变成了file2的名字

        boolean b1 = file4.renameTo(file3); //不同盘符不给转
        System.out.println(b1);
    }

}

test1运行结果:

Peter.txt
D:\IO\Peter.txt
D:\IO\Peter.txt
D:\IO
D:\IO\Peter.txt

IO1
D:\IO\IO1
D:\IO\IO1
D:\IO
D:\IO\IO1

false
false

test2运行结果:

true
true
true
true
false
Thu Apr 04 00:09:44 CST 2019
0

true
true
true
false
true
Wed Apr 03 23:54:28 CST 2019
0

test3运行结果:

true
true
Android Studio
Android Studio APK Practice
android-sdk
AndroidStudioProjects
SQLiteStudio
二维码Zxing
颜色备忘录.txt

Android Studio
Android Studio APK Practice
android-sdk
AndroidStudioProjects
SQLiteStudio
二维码Zxing
颜色备忘录.txt

 tips: 关于文件重命名部分与你运行结果不一致可能是因为我已经操作过文件了,请以你自己在电脑上运行的结果为准!

猜你喜欢

转载自blog.csdn.net/Peter__Li/article/details/89008076
今日推荐