Java io流

File

File类概述和构造方法

File:他是文件和目录路径的抽象表示

  • 文件和目录可以通过File封装成对象
  • 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已,他可以是存在的,也可以是不存在的,将来要是通过具体的操作把这个路径内容转换成具体存在的

File有4个构造方法

主要说明3个构造方法

方法名说明
File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的File实例

File(String parent , String child)

从父路径名字符串和子路径名字符串创建新的File实例
File(File parent , String child)从父抽象路径名和子路径名字符串创建新的File实例

三种构造方法实现的都是一样的

package com.junbao.demo1.io;

import java.io.File;

/**
 * author : Majunbao
 * github : https://github.com/MaJunBaox
 * time   : 2021/10/2 2:45 AM
 * desc   : io流 File
 */

public class Test {
    public static void main(String[] args) {
        //第一种个构造方法
        //File(String pathname) 传入的事字符串全路径
        File f1 = new File("E://nideyida//java.txt");
        System.out.println(f1);

        //第二种构造方法
        //File(String parent , String child) 第一个参数是父路径 ,第二个参数是子路径 ,两个                            
        //拼接成一个全路径
        File f2 = new File("E://nideyida", "//java.txt");
        System.out.println(f2);

        //第三种构造方法
        //File(File parent , String child) 第一个参数是一个File ,第二个参数是路径 ,把第 
        //一个File参数 拼接 第二个参数 ,合并成一个全路径
        File f3 = new File("E://nideyida");
        File f4 = new File(f3, "//java.txt");
        System.out.println(f4);
    }
}

File类的创建功能

方法说明
createNewFile()当具有该名称文件不存在是,创建一个改抽象路径名命名的新空文件
mkdir()创建由此抽象路径名命名的路径
mkdirs()创建由此抽象路径命名的目录,包括任何必须但不存在的父目录(创建多级目录 ,父目录没有就创建父目录 )
package com.junbao.demo1.io;

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

/**
 * author : Majunbao
 * github : https://github.com/MaJunBaox
 * time   : 2021/10/2 2:45 AM
 * desc   : io流 File
 */
public class Test {
    public static void main(String[] args) throws IOException {
        //需求1:在/Users/yunhailan/nideyidaa目录下创建java.txt文件 我是mac 所以路径是这样的
        File f1 = new File("/Users/yunhailan/nideyidaa/java.txt");
        //输出true 代表文件不存在 创建成功 , 如果文件存在 则会返回false
        System.out.println(f1.createNewFile());

        //需求2::在/Users/yunhailan目录下创建一个目录nideyidaa2
        File f2 = new File("/Users/yunhailan/nideyidaa2");
        //输出true 代表文件夹不存在 创建成功 , 如果文件夹存在 则 返回false
        System.out.println(f2.mkdir());
    }
}
  • createNewFile() 创建文件 ,如果文件存在返回false ,不存在 创建 返回true

  • mkdir() 创建文件夹 ,如果文件夹存在返回false ,不存在 创建 返回true

  • mkdirs() 创建多级文件夹 ,如果文件夹存在返回false ,不存在 创建 返回true

  • isDirectory()是否是文件目录  是true 不是 false

  • isFile()是否是文件 是true 不是 false

  • exists()文件是否存在 存在 true 不存在 false

  • getAbsolutePath() 返回当前文件的绝对路径

  • getPath()返回当前文件的路径名字符串

  • getName()返回当前文件的文件名

  • list()获取当前路径下的文件目录 和 文件名称 字符串 数组

  • listFiles()获取当前目录下的文件 和 目录 的 File对象的数组

package com.junbao.demo1.io;

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

/**
 * author : Majunbao
 * github : https://github.com/MaJunBaox
 * time   : 2021/10/11 11:04 PM
 * desc   : File常见方法
 */
public class FileDemo1 {
    public static void main(String[] args) {
        File f1 = new File("/Users/yunhailan/nideyidaa/java.txt");
        //是否是文件目录 输出false
        System.out.println(f1.isDirectory());
        //是否是文件 输出true
        System.out.println(f1.isFile());
        //文件是否存在 输出true
        System.out.println(f1.exists());
        //绝对路径
        System.out.println(f1.getAbsolutePath());
        //路径名 字符串
        System.out.println(f1.getPath());
        //文件名称
        System.out.println(f1.getName());

        System.out.println("==================");

        File f2 = new File("/Users/yunhailan/nideyidaa/java2.txt");
        try {
            f2.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        File f3 = new File("/Users/yunhailan/nideyidaa");
        //获取当前路径下的文件目录 和 文件名称 字符串 数组
        String[] list = f3.list();

        for (String str : list) {
            System.out.println(str);
        }

        //获取当前目录下的文件 和 目录 的 File对象的数组
        File[] files = f3.listFiles();
        for (File file : files) {
            System.out.println(file);
        }

    }
}

ps:有空再补充把 累了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值