文件File类的学习

File类

在java中,通过java.io.File类来对一个文件进行抽象的描述.
下面我们来看看File类的构造方法:
签名 说明
File(File parent, String child) 根据父目录+孩子文件路径,创建出一个新的File实例
File(String pathname) 根据文件路径创建一个新的File实例,路径可以是绝对路径和相对路径
File(String parent, String child) 根据父文件路径+孩子文件路径,创建一个新的File实例

下面我将通过一些方法熟悉一下文件操作:

创建File实例

public static void main(String[] args) throws IOException {
        // 使用绝对路径创建一个File实例
        File file = new File("d:/test.txt");
        // 查看父亲目录
        System.out.println(file.getParent());;
        // 查看文件名
        System.out.println(file.getName());
        // 当前文件路径
        System.out.println(file.getPath());
        // 绝对路径
        System.out.println(file.getAbsolutePath());
        // 对绝对路径进行修饰
        System.out.println(file.getCanonicalPath());
    }
    // d:\
	//test.txt
	//d:\test.txt
	//d:\test.txt
	//D:\test.txt

以上操作并没有真正创建文件,我们要通过调用createNewFile方法创建文件

创建文件

public static void main(String[] args) throws IOException {
        File file = new File("d:/test.txt");
        // 创建一个文件
        file.createNewFile();

        // 文件是否存在
        System.out.println(file.exists());
        // 是否是文件
        System.out.println(file.isFile());
        // 是否是目录
        System.out.println(file.isDirectory());
    }
    // 我们已经在d:/下创建了一个文件test.txt.
    // true
    // true
    // false

下面我们进行文件的删除操作, 有立即删除, 和在程序结束后删除两种情况:

删除文件

public static void main(String[] args) throws InterruptedException {
        File file = new File("d:/test.txt");
        // 直接删除
        //file.delete();
        // 等待程序退出后删除
        file.deleteOnExit();

        Thread.sleep(5000);
    }

创建目录

public static void main(String[] args) {
		// 以相对路径创建目录
        File file = new File("./testDir");
        // 创建目录
        file.mkdir();
        // 创建多级目录
        //file.mkdirs();
    }

在这里插入图片描述
可以看到, 当前创建了一个testDir目录.

Reader

public static void main(String[] args) throws IOException {
        // 构造方法: 1. 绝对路径 2. 相对路径  3.已经构造好的file对象
        // 只要try(){}执行完了,就会自动调用close方法
       try(Reader reader = new FileReader("./testDir/test.txt")) {
            while (true) {
                char[] buf = new char[1024];
                // 实际读到的字符个数
                int n = reader.read(buf);
                // n == -1: 表示读到末尾了
                if(n == -1) {
                    break;
                }

                for (int i = 0; i < n; i++) {
                    System.out.print(buf[i] + "");
                }
            }
       }

    }

在这里插入图片描述

小结

上述我们基于File类进行文件系统的操作, 在下篇博客将会使用文件流的方式操作文件系统,
希望有收获的小伙伴多多支持.

相关推荐

  1. C# 文件/文件夹处理常用 File,Directory,Path

    2024-04-24 14:20:01       58 阅读
  2. File

    2024-04-24 14:20:01       55 阅读
  3. File解释与说明

    2024-04-24 14:20:01       38 阅读
  4. file 文件

    2024-04-24 14:20:01       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 14:20:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 14:20:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 14:20:01       82 阅读
  4. Python语言-面向对象

    2024-04-24 14:20:01       91 阅读

热门阅读

  1. 图像处理之HOG特征(C++)

    2024-04-24 14:20:01       32 阅读
  2. Qt Android 动态加载动态库失败

    2024-04-24 14:20:01       38 阅读
  3. 第一个简单爬虫:获取页面

    2024-04-24 14:20:01       35 阅读
  4. spring boot 基础案例【1】在页面上打印hellow world

    2024-04-24 14:20:01       36 阅读
  5. 代码随想录算法训练营day38

    2024-04-24 14:20:01       29 阅读
  6. Kylin 使用心得

    2024-04-24 14:20:01       36 阅读
  7. Kotlin语法入门-自定义注解(7)

    2024-04-24 14:20:01       32 阅读
  8. 建造者模式

    2024-04-24 14:20:01       35 阅读