20、File文件

一、File

  1. 文件和目录路径的抽象表现形式,可以以文件或者文件路径构建成一个File对象,然后可以对该文件进行操作
  2. 相对路径:相对于参照物的路径,idea中多使用相对路径
  3. 绝对路径:从盘符开始的
1.1、file的构造方法
方法名 描述
[File](…/…/java/io/File.html#File(java.io.File, java.lang.String))(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例
[File](…/…/java/io/File.html#File(java.lang.String, java.lang.String))(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(URI uri) 通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。
1.2、创建方法
方法名 描述
booleancreateNewFile() 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
booleanmkdir() 创建此抽象路径名指定的目录
booleanmkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
1.3、删除文件及空文件夹
方法名 描述
booleandelete() 删除此抽象路径名表示的文件或目录
1.4、判断方法
方法名 描述
booleanexists() 测试此抽象路径名表示的文件或目录是否存在。
boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件
boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录
1.5、剪切并重命名到指定文件
方法名 描述
booleanrenameTo(File dest) 剪切调用者的文件内容到dest文件中
1.6、获取的方法
方法名 描述
public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
public String getPath() 返回File构造方法中的路径
public String getParent() 返回此抽象路径名父目录的路径名字符串
public String getName() 返回由此抽象路径名表示的文件或目录的名称
public long length() 返回由此抽象路径名表示的文件的长度
1.7、过滤方法
方法名 描述
public String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录(一级目录下所有的目录以及文件)
public String[] list(FilenameFilter fifilter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目
public File[] listFiles(FilenameFilter fifilter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
public File[] listFiles(FileFilter fifilter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
public File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。
1.8、练习
package com.la.demo;
import java.io.File;
import java.io.FileFilter;
import java.util.Scanner;
public class TestFile5 {
   
    public static void main(String[] args) {
   
        Scanner scanner = new Scanner(System.in);
        boolean flag=true;
        do {
   
            System.out.println("请输入文件目录");
            String next = scanner.next();
            File file = new File(next);
            if (file.exists()){
   
                if (file.isDirectory()){
   
                    file.listFiles(new FileFilter() {
   
                        @Override
                        public boolean accept(File pathname) {
   
                            if (pathname.getName().endsWith("java")&&pathname.length()>5*1024){
   
                                System.out.println(pathname.getName());
                                return true;
                            }
                            return false;
                        }
                    });
                    flag=false;
                }else {
   
                    System.out.println("你输入的不是目录");
                }

            }else {
   
                System.out.println("目录有误,请重新输入文件目录");
            }

        }while (flag);
    }
}
1.9、练习
package com.la.demo;
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.util.Arrays;
public class TestFile2 {
   
    public static void main(String[] args) {
   
        File file = new File("E:\\home");
        String[] list = file.list();
        System.out.println(Arrays.toString(list));
        String[] jpgs = file.list(new FilenameFilter() {
   
            @Override
            public boolean accept(File dir, String name) {
   
                if (name.endsWith("jpg")) {
   
                    return true;
                }
                return false;
            }
        });
        System.out.println(Arrays.toString(jpgs));

        File[] files = file.listFiles(new FileFilter() {
   
            @Override
            public boolean accept(File pathname) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值