javaSE - file-文件操作

file操作

File中的构造方法

File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的。

三个构造方法:

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

  • File(String parent, String chlid) - 从父类路径名字符串和自路径名字符串创建新的 File 实例

  • File(File parent, String child) - 从父类抽象路径和自路径名字符串创建行的 File 实例

demo: 使用上面的三种构造方法,封装一个路径名字,进行输出

import java.io.File;

/**
 * @Classname : demo01
 * @Description : TODO File构造方法
 * @Author : lin_refuel@qq.com
 */
public class demo01 {
    public static void main(String[] args) {
          //使用File可以把路径名字给封装起来
        File file01 = new File("/.Mydir/Mytest.txt");
        System.out.println(file01);
        System.out.println("================================");
        //Mydir和Mytest.txt可以分开写
        File file02 = new File("/.Mydir","/Mytest.txt");
        System.out.println(file02);
        System.out.println("================================");
        //可以把封装的路径名字当作参数进行传递
        File file03 = new File("/.Mydir");
        File file04 = new File(file03,"/Mytest.txt");
        System.out.println(file04);
    }
}

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

file的创建功能

  • createNewFile(): 创建文件

  • mkdir(): 创建目录

  • mkdirs(): 创建多级目录

demo: 调用上面的方法

package dem01;

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

/**
 * @Classname : demo02
 * @Description : TODO File类的创建
 * @Author : lin_refuel@qq.com
 */
public class demo02 {
    public static void main(String[] args) throws IOException {
        //调用createNewFile方法,在D盘的JAVA文件夹里面,建立一个名字为Mydemo.txt的文件
        File file01 = new File("D:/JAVA","Mydemo.txt");
        System.out.println(file01.createNewFile());
        System.out.println("============================================");
        //调用mkdir方法,在D盘的JAVA目录里面创建一个名字为MyFile的子目录
        File file02 = new File("D:/JAVA","MyFile");
        System.out.println(file02.mkdir());
        System.out.println("=============================================");
        //调用mkdirs方法,在E盘里面创建一个名字为H的多级目录
        File file03 = new File("E:","H/E/L/L/O");
        System.out.println(file03.mkdirs());
    }
}

运行结果:

文件Mydemo和目录Myfile建立成功
在这里插入图片描述

多级目录H创建成功
在这里插入图片描述

File的判断和获取功能的方法

isDirectory(): 是否为目录

demo

import java.io.File;

/**
 * @Classname : demo03
 * @Description : TODO File 判断和获取的功能
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) {
        //在D盘的/JAVA/ce目录里面创建一个文件夹mmm
        File file = new File("D:/JAVA/ce","mmm");
        System.out.println(file.mkdir());//创建文件夹
        //调用isDirectory功能判断是否为文件夹
        System.out.println(file.isDirectory()); // ture:说明是文件夹,false说明不是
    }
}

运行结果:

第一个true说明创建成功,第二个true说明了是文件夹
在这里插入图片描述

isFile(): 是否为文件

demo:

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

/**
 * @Classname : demo03
 * @Description : TODO File 判断和获取的功能
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) throws IOException {
        //在D盘的/JAVA/ce目录里面创建一个目录mmm
        File file = new File("D:/JAVA/ce","mmm");
        file.mkdir();//创建目录
        System.out.println("===============================");
        //在D盘的/JAVA/ce目录里面创建一个文件vvv
        File file01 = new File("D:/JAVA/ce","vvv");
        file01.createNewFile();//创建文件夹
        //通过isFile(): 是否为文件
        System.out.println(file.isFile()); // false mmm不是一个文件
        System.out.println(file01.isFile());// ture vvv是一个文件
    }
}

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

exists(): 是否存在

创建成功返回true ,创建失败返回false

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

/**
 * @Classname : demo03
 * @Description : TODO File 判断和获取的功能
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) throws IOException {
        //在D盘的/JAVA/ce目录里面创建一个目录mmm
        File file = new File("D:/JAVA/ce","ccc");
       // file.mkdir();//创建目录
        System.out.println(file.exists()); // 存在true 不存在返回false
    }
}

运行结果:因为注释掉了file.mkdir();,输出false,
在这里插入图片描述

getAbsolutePath(): 返回绝对路径

demo:

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

/**
 * @Classname : demo03
 * @Description : TODO File 判断和获取的功能
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) throws IOException {
        //在D盘的/JAVA/ce目录里面创建一个目录mmm
        File file = new File("D:/JAVA/ce","ccc");
       // file.mkdir();//创建目录
        System.out.println(file.getAbsolutePath());
    }
}

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

getPath(): 返回给定的路径名字符串

demo:

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

/**
 * @Classname : demo03
 * @Description : TODO File 判断和获取的功能
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) throws IOException {
        //在D盘的/JAVA/ce目录里面创建一个目录mmm
        File file = new File("D:/JAVA/ce","ccc");
       // file.mkdir();//创建目录
        System.out.println(file.getPath());
    }
}

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

getName(): 返回File封装的文件或目录名

demo

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

/**
 * @Classname : demo03
 * @Description : TODO File 判断和获取的功能
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) throws IOException {
        //在D盘的/JAVA/ce目录里面创建一个目录mmm
        File file = new File("D:/JAVA/ce","ccc");
       // file.mkdir();//创建目录
        System.out.println(file.getName());
    }
}

在这里插入图片描述

File列表的获取

list(): 返回目录文件列表(字符串)

demo:

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * @Classname : demo03
 * @Description : TODO File 判断和获取的功能
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) throws IOException {
         //建立一个File对象,对字符串路径进行包装
        File file1 = new File("D:/JAVA/java SE");//当前路径下
        String[] list = file1.list();//把当前路径里面的对象字符串化,放入数组
        //System.out.println(Arrays.toString(list));
        //输出字符串数组
        for (String listname:list) {
            System.out.println(listname);
        }
        System.out.println("====================================");
    }
}

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

listFiles(): 返回文件列表(对象)

demo

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * @Classname : demo03
 * @Description : TODO File 判断和获取的功能
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) throws IOException {
         //建立一个File对象
        File file1 = new File("D:/JAVA/java SE");//当前路径下
        //调用:listFile()方法
        File[] files = file1.listFiles();//返回一个File类型的数组
        for (File file:files){
            //数组里面的每个对象调用getName方法,返回目录名字
            System.out.println(file.getName());
        }
    }
}

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

file的删除功能

demo:

package dem01;

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

import static java.nio.file.Files.delete;

/**
 * @Classname : demo04
 * @Description : TODO delete 删除
 * @Author : lin_refuel@qq.com
 */
public class demo04 {
    public static void main(String[] args) throws IOException {
            //定义一个File对像
        File file = new File("F:/新建文件夹/mmm");
           //Create(file);//创建文件方法
          delete(file);//删除文件方法
    }
    /**
     * 删除文件
     * @param file 删除的目标文件
     */
    private static void delete(File file) {
        //判断文件是否存在
        if(file.exists()){
            if(file.delete()){
                System.out.println(file.getName() + "文件删除成功");
            }else{
                System.out.println(file.getName() + "文件删除失败");
            }
        }else{
            System.out.println(file.getName() + "没有此文件");
        }
    }

    /**
     * 创建文件
     * @param file 创建的文件
     * @throws IOException
     */
    private static void Create(File file) throws IOException {
        //判断文件是否存在
        if(file.exists()){
            System.out.println(file.getName() + "文件已经存在");
        }else{
            System.out.println("创建文件" + file.getName());
            if(file.createNewFile()){
                System.out.println(file.getName() + "文件创建成功");
            }else{
                System.out.println("文件创建立失败");
            }
        }
    }
}
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值