java(详细)文件的绝对路径、相对路径、文件对象的建立和常用类方法

1.文件

文件为电脑的一种存储形式,比如.txt .jpg .doc等,储存在电脑的硬盘里面。

绝对路径

        File f1 = new File("E:\\CODE\\CLion\\IJ\\java笔记.txt");
        //第一种路径方式,有盘符的绝对路径`在这里插入代码片`

相对路径

        File f2 = new File("java笔记.txt");
        //第二种路径方式,相对于当前工程项目的路径的相对路径        

代码示例

        File f = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
        //创建了一个File对象,表示一个文件或者路径名的抽象表示形式
        File f = new File("E:/CODE/CLion/IJ/test1.txt");
        //建议使用“/”表示路径
        //构建File对象的几种方法
        //1.
        File f3 = new File("E:\\CODE\\CLion\\IJ\\java笔记.txt");
        File f4 = new File("E:/CODE/CLion/IJ/java笔记.txt");//建议这样写
        //2.
        File f5 = new File("E:/CODE/CLion/IJ", "java笔记.txt");//建议这样写
        File f6 = new File("E:/CODE/CLion/","/IJ/src/java笔记.txt");
        //3.
        File f7 = new File(new File("E:/CODE/CLion/IJ"), "java笔记.txt");

        File f8 = new File("con.txt");//不能创建con的文件,因为操作系统的关键字有con
        System.out.println(f8.createNewFile());

File产生的对象,并不一定存在,是内存中的对象和硬盘里面的文件一种映射关系。
如果文件存在硬盘中,就建立联系,并且可以通过对象操作硬盘里面的文件。

常用的10个类方法

1)createNewFile()方法 返回boolean类型

        File f = new File("test.txt");
        //创建了一个File对象,表示一个文件或者路径名的抽象表示形式
        try {
            boolean value = f.createNewFile();//只能一个之前不存在的文件
            //不会建立文件夹
            System.out.println(value);//返回值为boolean型,建立成功返回true
        } catch (IOException e) {//要有异常处理
            e.printStackTrace();
        }

运行结果

true

2)getName()方法 返回String类型

        File f = new File("test.txt");
        //创建了一个File对象,表示一个文件或者路径名的抽象表示形式
        System.out.println(f.getName());//返回抽象路径的最后一个名字

运行结果

test.txt

3)getParent()方法 返回String类型

        File f = new File("test.txt");
        File f1 = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
        System.out.println(f.getName());
        System.out.println(f.getParent());//返回上一级之及前的字符串
        System.out.println(f1.getParent());

运行结果

test.txt
null
E:\CODE\CLion\IJ

4)getParentFile()方法 返回File对象

        File f1 = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
        File file1 = f1.getParentFile();//返回上一级的对象
        System.out.println(file1.getName());

运行结果

IJ

5)getAbsolutePath()方法 返回String类型

        File f = new File("test.txt");
        File f1 = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
        System.out.println(f.getAbsolutePath());//返回的一定是绝对路径
        System.out.println(f1.getAbsolutePath());//建立File对象是相对路径,返回也是绝对路径

运行结果

E:\CODE\CLion\IJ\test.txt
E:\CODE\CLion\IJ\test1.txt

6)getAbsoluteFile()方法 返回File对象

        File f = new File("test.txt");
        File f1 = new File("E:\\CODE\\CLion\\IJ\\test1.txt");
        File file = f.getAbsoluteFile();//返回一个具有绝对路径的File对象
        File file1 = f1.getAbsoluteFile();
        System.out.println(file.getName());//打印出file的名字
        System.out.println(file1.getName());

运行结果

test.txt
test1.txt

7)isFile()方法 返回boolean类型

        File f = new File("test.txt");
        File f1 = new File("E:\\CODE\\CLion\\IJ");
        System.out.println(f.isFile());//判断是否是文件,是返回true 否返回false
        System.out.println(f1.isFile());

运行结果

true
false

8)list()方法 返回String[]

        File f1 = new File("E:\\CODE\\CLion\\IJ");
        String[] files = f1.list();//返回IJ文件夹下的所有目录
        int i = 0;
        while(i < files.length) {
            System.out.println(files[i++]);
        }

运行结果

.idea
con1
IJ.iml
java笔记.txt
out
output1
src
test.txt
test1.txt
test2.txt

9)listFiles()方法 返回File[]

        File f1 = new File("E:\\CODE\\CLion\\IJ");
        File[] files = f1.listFiles();//返回IJ文件夹下所有目录对象
        int i = 0;
        while(i < files.length) {
            System.out.println(files[i++].getName());
        }

运行结果

.idea
con1
IJ.iml
java笔记.txt
out
output1
src
test.txt
test1.txt
test2.txt

10)delete()方法 返回boolean类型

        File f = new File("test.txt");
        File f1 = new File("E:\\CODE\\CLion\\IJ");
        System.out.println(f.delete());
        System.out.println(f1.delete());
        //注意只能删除空文件夹和文件,如果文件夹不为空则无法删除

运行结果

true
false

2.文件夹

文件夹起分割文件的作用,是一个目录路径,在硬盘没有空间,占用0字节。

常用的3个类方法

1)isDirectory()方法返回boolean类型

        File f = new File("test.txt");
        File f1 = new File("E:\\CODE\\CLion\\IJ");
        System.out.println(f.isDirectory());//是否是文件夹 是true 否false
        System.out.println(f1.isDirectory());

运行结果

false
true

2)mkdir()方法返回boolean类型

        File f1 = new File("E:\\CODE1");
        File f2 = new File("E:\\TEST\\test");
        System.out.println(f1.mkdir());//是连续完整的路径,可以创建
        System.out.println(f2.mkdir());//TEST文件夹不在E盘中,路径不连续,无法创建test文件夹

运行结果

true
false

3)mkdirs()方法返回boolean类型

        File f1 = new File("E:\\CODE1");
        File f2 = new File("E:\\TEST\\test");
        System.out.println(f1.mkdirs());
        System.out.println(f2.mkdirs());//可以创建路径不完整的文件夹,每个目录的文件夹都会创建
true
true

发布了8 篇原创文章 · 获赞 8 · 访问量 1039

猜你喜欢

转载自blog.csdn.net/dragoned_123/article/details/96301238