Java的IO流---File类的使用

File类的概述

java.io.File

  1. 凡是与输入、输出相关的类、接口等都定义在java.io包下
  2. File是一个类,可以有构造器创建其对象。此对象对应着一个文件或者文件目录
  3. File类对象是与平台无关的
  4. File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及到文件内容的,File是无能为力的,必须由io流来完成
  5. File类的对象常作为io流的具体类的构造器的形参
    代码实现
import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        //绝对路径
        File file = new File("//Users//leeakita//IdeaProjects//file//my.txt");
        //相对路径
        File file1 = new File("my.txt");
    }
}

File类的常用方法

访问文件名相关方法

getName()

功能说明
获取文件的文件名
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getName());
    }
}

运行结果
在这里插入图片描述

getPath()

功能说明
获取文件的相对路径
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getPath());
    }
}

运行结果
在这里插入图片描述

getAbsoluteFile()

功能说明
获取带绝对路径的文件名
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getAbsoluteFile());
    }
}

运行结果
在这里插入图片描述

getAbsolutePath()

功能说明
获取文件的绝对路径
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getAbsolutePath());
    }
}

运行结果
在这里插入图片描述

getParent()

功能说明
获取该文件的上一层文件名
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getParent());
    }
}

运行结果
在这里插入图片描述

file1.renameTo(file2)

功能说明
将file1的文件名改为file2的文件名称,要求file1必须存在,file2必须不存在,否则修改不成功,会报错
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file1 = new File("filedir/my.txt");
        File file2 = new File("filedir/out.txt");
        System.out.println(file1.renameTo(file2));
    }
}

运行结果
修改之前
在这里插入图片描述

修改之后
在这里插入图片描述
在这里插入图片描述

文件检测相关方法

exists()

功能实现
判断file对象对应的文件或者文件夹是否存在,如果存在返回true,否则返回false
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        File no_file = new File("filedir/out.txt");
        System.out.println(file.exists());
        System.out.println(no_file.exists());
    }
}

运行结果
在这里插入图片描述

canWrite()

功能说明
判断file对象对应的文件是否可写
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.canWrite());
    }
}

运行结果
在这里插入图片描述

canRead()

功能说明
判断file对象对应的文件是否可读
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.canRead());
    }
}

运行结果
在这里插入图片描述

isFile()

功能说明
判断file对象对应的是否是一个文件,如果是返回true,否则返回false
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.isFile());
    }
}

运行结果
在这里插入图片描述

isDirectory()

功能说明
判断file对象对应的是否是一个文件夹,如果是返回true,否则返回false
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.isDirectory());
    }
}

运行结果
在这里插入图片描述

lastModified()

功能说明
返回file对象对应的文件或者文件夹最后的修改时间
代码实现

import java.io.File;
import java.util.Date;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(new Date(file.lastModified()));
    }
}

运行结果
在这里插入图片描述

length()

功能说明
返回file对象对应的文件的大小,例如文件内部有五个字符,则返回五
代码实现

import java.io.File;
import java.util.Date;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.length());
    }
}

运行结果
在这里插入图片描述

目录操作相关方法

createNewFile()

功能说明
创建一个file对象对应的文件
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/my.txt");
        System.out.println(file.createNewFile());
    }
}

运行结果
执行前
在这里插入图片描述

执行后
在这里插入图片描述
在这里插入图片描述

delete()

功能说明
对file对象对应的文件执行删除操作
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.delete());
    }
}

运行结果
执行前
在这里插入图片描述

执行后
在这里插入图片描述
在这里插入图片描述

mkDir()

功能说明
创建一个目录,只有在上层文件目录存在的情况下,才能创建成功,并且返回true,否则返回false
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/my");
        System.out.println(file.mkdir());
    }
}

运行结果
执行前
在这里插入图片描述
执行后
在这里插入图片描述
在这里插入图片描述

mkDirs()

功能说明
创建一个文件目录,若上层文件不存在,一并创建
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/lee/akita/wzz");
        System.out.println(file.mkdirs());
    }
}

运行结果
执行前
在这里插入图片描述
执行后
在这里插入图片描述
在这里插入图片描述

list()

功能说明
返回对应文件夹下面的所有文件,返回的形式是一个String数组
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/lee/akita");
        String[] list = file.list();
        for (String temp : list) {
            System.out.println(temp);
        }
    }
}

运行结果
在这里插入图片描述
在这里插入图片描述

listFiles()

功能说明
返回对应文件夹下面的所有文件,返回的形式是一个File数组
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/lee/akita");
        File[] files = file.listFiles();
        for (File temp : files) {
            System.out.println(temp.getName());
        }
    }
}

运行结果
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水哥很水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值