Java IO 之File类

File类是一个与流无关的类,File类的对象可以获取文件及其文件所在的目录、文件的长度等信息。

1. 构造方法

(1) File(String pathname)

File file1 = new File("H:\\test.txt");

(2) File(String pathname, String filename)

File file1 = new File("H:\\", "test.txt");

(3) File(File file, String filename)

File file1 = new File("H:\\filetest");
if(!file1.exsits()){
    file1.mkdir();//如果文件夹filetest不存在,则新建文件夹filetest
}
File file2 = new File(file1, "test.txt");

2. 常用方法

方法名称功能描述
(1) exists()判断文件或文件夹是否存在
(2) createNewFile()创建一个新文件
(3) mkdir()创建文件夹,成功创建返回true
(4) mkdirs()创建路径中包含的所有父文件夹和子文件夹,所有成功创建返回true
(5) isFile()判断是不是文件类型
(6) isDirectory()判断是不是文件夹类型
(7) length()获取文件的长度
(8) getName()获取文件的名字
(9) getParent()获取文件的父路径字符串
(10) getPath()获取文件的相对路径字符串
(11) getAbsolutePath()获取文件的绝对路径字符串
(12) getCanonicalPath()获取文件的解析之后的规范路径字符串

3. 代码示例

package test;

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

public class Test {
    public static void main(String[] args){
        File file1 = new File("H:\\testFile");
        File file2 = new File(file1, "test.txt");
        File file3 = new File("..\\LeetCodehf\\test.txt");              

        System.out.println("文件夹file1是否存在:" + file1.exists());
        //判断文件夹testFile是否存在,不存在则创建
        if(!file1.exists()){        
                file1.mkdirs();
        }
        System.out.println("文件夹file1是否存在:" + file1.exists());

        System.out.println("-------------------------------");
        System.out.println("文件file2是否存在:" + file2.exists());
        //判断文件test.txt是否存在,不存在则创建
        try {
        if(!file2.exists()){
            file2.createNewFile();
        }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("文件file2是否存在:" + file2.exists());

        if(!file3.exists()){
            try {
                file3.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        System.out.println("-------------------------------");
        System.out.println("file1是一个文件夹:" + file1.isDirectory());
        System.out.println("file2是一个文件:" + file2.isFile());
        System.out.println("file2的文件长度:" + file2.length());
        System.out.println("file1的文件名字:" + file1.getName());
        System.out.println("file2的父路径:" + file2.getParent());   

        System.out.println("-------------------------------");
        System.out.println("file2的相对路径:" + file2.getPath());
        System.out.println("file2的绝对路径:" + file2.getAbsolutePath());    
        try {
            System.out.println("file2的规范路径:" + file2.getCanonicalPath());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        System.out.println("-------------------------------");
        System.out.println("file3的相对路径:" + file3.getPath());
        System.out.println("file3的绝对路径:" + file3.getAbsolutePath());    
        try {
            System.out.println("file3的规范路径:" + file3.getCanonicalPath());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

运行结果如下图:

文件夹file1是否存在:true
文件夹file1是否存在:true
-------------------------------
文件file2是否存在:true
文件file2是否存在:true
-------------------------------
file1是一个文件夹:true
file2是一个文件:true
file2的文件长度:0
file1的文件名字:testFile
file2的父路径:H:\testFile
-------------------------------
file2的相对路径:H:\testFile\test.txt
file2的绝对路径:H:\testFile\test.txt
file2的规范路径:H:\testFile\test.txt
-------------------------------
file3的相对路径:..\LeetCodehf\test.txt
file3的绝对路径:H:\leetcodehf\LeetCodehf\..\LeetCodehf\test.txt
file3的规范路径:H:\leetcodehf\LeetCodehf\test.txt
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值