java中的File

31 篇文章 0 订阅
12 篇文章 0 订阅

我们要想实现IO的操作,就必须知道硬盘上的文件表现形式
java中用一个类来供我们使用,抽象的表示硬盘上的各种文件
这个叫做File.
File: 文件和目录路径名的抽象表示。今后我所说的目录就代表文件夹的意思。
File类的构造方法:

     File(File parent, String child)
         从父抽象路径名和子路径名字符串创建新的 File实例。
     File(String pathname)
         通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
     File(String parent, String child)
         从父路径名字符串和子路径名字符串创建新的 File实例。

创建File对象的原因:
对想要进行操作的文件或者文件夹,将其封装成一个File对象,
然后调用该对象中的方法对文件或者文件夹进行操作

创建功能

    public boolean createNewFile()
在指定目录创建一个文件
    public boolean mkdir()
在指定目录下创建文件夹 ,如果该文件夹已经存在,就不会创建了,返回false
    public boolean mkdirs()
在指定目录创建多级文件夹
注意:同一个目录下,文件和文件夹的名字不能重复

删除功能:

    public boolean delete()
删除指定目录的文件或文件夹(里面必须为空)
重命名功能
    public boolean renameTo(File dest)
将指定的文件改名为想改的名字

判断功能

    public boolean   ()
判断是否是一个目录
    public boolean isFile()
判断是否是一个文件
    public boolean exists()
判断文件或文件夹是否存在
    public boolean canRead()
判断是否可读
    public boolean canWrite()
判断是否可写
    public boolean isHidden()
判断是否隐藏

绝对路径(完整路径):带有盘符的
相对路径:相对于一个目录开始(不带盘符的)
基本获取功能

    public String getAbsolutePath()
获取绝对路径
    public String getPath()
获取相对路径
    public String getName()
获取文件的名字
    public long length()
获取文件的字节长度
    public long lastModified()
获取文件最后更改的时间,返回的是时间戳,精确到了毫秒

/时间戳与日期的转换

File file2 = new File("")
//public Date(long date)
Date date = new Date(file2.lastModified());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(date);
System.out.println(s);

高级获取功能

    public String[] list()
获取指定目录下的所有文件或者文件夹的名称,组成一个数组
    public File[] listFiles()
获取指定目录下的所有文件或者文件夹组成的File数组

文件名称过滤器的实现思想及代码
public String[] list(FilenameFilter filter)
public File[] listFiles(FilenameFilter filter)
在获取文件的同时,结果就已经满足了我们要查找的条件
判断E:\数加科技\十四期下面有没有后缀名为.jpg的文件,如果有,就输出此文件的名称
1、先获取该目录下所有的文件和文件夹,然后一个一个遍历判断
2、直接在获取的时候,返回的结果就是满足条件的

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.util.regex.Pattern;
public class FileDemo9 {
    public static void main(String[] args) {
        File file = new File("D:\\File");
        File[] files = file.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
//                return false;
//                return true;
            //通过测试发现,该目录下的文件或者文件夹到底该不该加入到数组中
                //取决于这里的返回值是true还是false
                //dir父级目录
                //name目录下文件的名称
                File file1 = new File(dir, name);
                boolean b1 = file1.isFile();
                boolean b2 = file1.getName().endsWith(".jpg");
                return b1 && b2;
            }
        });
        if(files!=null){
            for(File f : files){
                System.out.println(f);
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaFile类是用于处理文件和目录的类。它提供了一些方法来创建、删除、重命名、复制、移动文件或目录等操作。 以下是一些常见的File类用法: 1. 创建File对象 使用File类的构造函数可以创建一个File对象来代表一个文件或目录。例如: ```java File file = new File("path/to/file.txt"); ``` 2. 判断文件或目录是否存在 使用File类的exists()方法可以判断文件或目录是否存在。例如: ```java if (file.exists()) { // 文件或目录存在 } else { // 文件或目录不存在 } ``` 3. 创建文件或目录 使用File类的createNewFile()方法可以创建一个新文件。例如: ```java File file = new File("path/to/newfile.txt"); file.createNewFile(); ``` 使用File类的mkdir()或mkdirs()方法可以创建一个新目录。例如: ```java File dir = new File("path/to/newdir"); dir.mkdir(); // 创建单层目录 dir.mkdirs(); // 创建多层目录 ``` 4. 获取文件或目录信息 使用File类的一些方法可以获取文件或目录的信息,例如: ```java file.getName(); // 获取文件名 file.getAbsolutePath(); // 获取绝对路径 file.length(); // 获取文件大小 file.lastModified(); // 获取最后修改时间 ``` 5. 删除文件或目录 使用File类的delete()方法可以删除一个文件或空目录。例如: ```java file.delete(); ``` 使用File类的deleteOnExit()方法可以在JVM退出时删除文件或目录。例如: ```java file.deleteOnExit(); ``` 使用File类的deleteRecursively()方法可以递归删除目录及其子目录和文件。例如: ```java FileUtils.deleteRecursively(dir); ``` 6. 重命名文件或目录 使用File类的renameTo()方法可以重命名一个文件或目录。例如: ```java File newfile = new File("path/to/newname.txt"); file.renameTo(newfile); ``` 7. 复制文件或目录 使用Java标准库或第三方库(如Apache Commons IO)可以复制文件或目录。例如: ```java // 使用Java标准库 Files.copy(source.toPath(), target.toPath()); // 使用Apache Commons IO FileUtils.copyDirectory(source, target); ``` 8. 移动文件或目录 使用File类的renameTo()方法可以移动一个文件或目录。例如: ```java File newdir = new File("path/to/newdir"); file.renameTo(new File(newdir, file.getName())); ``` 以上是File类的一些常见用法。File类提供了很多方法来处理文件和目录,可以根据需要选择使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值