Java-File类

概念: 在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。

(1) java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关

(2)File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。

(3) 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。

(4) File对象可以作为参数传递给流的构造器,指明读取或写入的"终点"。

File 类不能访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流。

File 类提供了如下三种形式构造方法:

File(String path):如果 path 是实际存在的路径,则该 File 对象表示的是目录;如果 path 是文件名,则该 File 对象表示的是文件。
File(String path, String name):path 是路径名,name 是文件名。
File(File dir, String name):dir 是路径对象,name 是文件名。

方法摘要:

 booleancanExecute()
          测试应用程序是否可以执行此抽象路径名表示的文件。
 booleancanRead()
          测试应用程序是否可以读取此抽象路径名表示的文件。
 booleancanWrite()
          测试应用程序是否可以修改此抽象路径名表示的文件。
 intcompareTo(File pathname)
          按字母顺序比较两个抽象路径名。
 booleancreateNewFile()
          当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
static FilecreateTempFile(String prefix, String suffix)
          在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。
static FilecreateTempFile(String prefix, String suffix, File directory)
           在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
 booleandelete()
          删除此抽象路径名表示的文件或目录。
 voiddeleteOnExit()
          在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
 booleanequals(Object obj)
          测试此抽象路径名与给定对象是否相等。
 booleanexists()
          测试此抽象路径名表示的文件或目录是否存在。
 FilegetAbsoluteFile()
          返回此抽象路径名的绝对路径名形式。
 StringgetAbsolutePath()
          返回此抽象路径名的绝对路径名字符串。
 FilegetCanonicalFile()
          返回此抽象路径名的规范形式。
 StringgetCanonicalPath()
          返回此抽象路径名的规范路径名字符串。
 longgetFreeSpace()
          返回此抽象路径名指定的分区中未分配的字节数。
 StringgetName()
          返回由此抽象路径名表示的文件或目录的名称。
 StringgetParent()
          返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
 FilegetParentFile()
          返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null
 StringgetPath()
          将此抽象路径名转换为一个路径名字符串。
 longgetTotalSpace()
          返回此抽象路径名指定的分区大小。
 longgetUsableSpace()
          返回此抽象路径名指定的分区上可用于此虚拟机的字节数。
 inthashCode()
          计算此抽象路径名的哈希码。
 booleanisAbsolute()
          测试此抽象路径名是否为绝对路径名。
 booleanisDirectory()
          测试此抽象路径名表示的文件是否是一个目录。
 booleanisFile()
          测试此抽象路径名表示的文件是否是一个标准文件。
 booleanisHidden()
          测试此抽象路径名指定的文件是否是一个隐藏文件。
 longlastModified()
          返回此抽象路径名表示的文件最后一次被修改的时间。
 longlength()
          返回由此抽象路径名表示的文件的长度。
 String[]list()
          返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
 String[]list(FilenameFilter filter)
          返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
 File[]listFiles()
          返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
 File[]listFiles(FileFilter filter)
          返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
 File[]listFiles(FilenameFilter filter)
          返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
static File[]listRoots()
          列出可用的文件系统根。
 booleanmkdir()
          创建此抽象路径名指定的目录。
 booleanmkdirs()
          创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
 booleanrenameTo(File dest)
          重新命名此抽象路径名表示的文件。
 booleansetExecutable(boolean executable)
          设置此抽象路径名所有者执行权限的一个便捷方法。
 booleansetExecutable(boolean executable, boolean ownerOnly)
          设置此抽象路径名的所有者或所有用户的执行权限。
 booleansetLastModified(long time)
          设置此抽象路径名指定的文件或目录的最后一次修改时间。
 booleansetReadable(boolean readable)
          设置此抽象路径名所有者读权限的一个便捷方法。
 booleansetReadable(boolean readable, boolean ownerOnly)
          设置此抽象路径名的所有者或所有用户的读权限。
 booleansetReadOnly()
          标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。
 booleansetWritable(boolean writable)
          设置此抽象路径名所有者写权限的一个便捷方法。
 booleansetWritable(boolean writable, boolean ownerOnly)
          设置此抽象路径名的所有者或所有用户的写权限。
 StringtoString()
          返回此抽象路径名的路径名字符串。
 URItoURI()
          构造一个表示此抽象路径名的 file: URI。
 URLtoURL()
          已过时。 此方法不会自动转义 URL 中的非法字符。建议新的代码使用以下方式将抽象路径名转换为 URL:首先通过 toURI 方法将其转换为 URI,然后通过 URI.toURL 方法将 URI 装换为 URL。

代码示例:

        //构造方法
        File f1= new File("D:/aaa/bbb/bb.txt");
        File f2= new File("D:/aaa/bbb");
        File f3= new File(f1,bb.txt);
        String absolutePath = f1.getAbsolutePath();//获取绝对磁盘路径getAbsolutePath()
        System.out.println(absolutePath);//D:\aaa\bbb\bb.txt
        
        String parent = f1.getParent();//获取父路径getParent
        System.out.println(parent);//D:\aaa\bbb
        
        String name = f1.getName();//获取文件名getName()
        System.out.println(name);//bb.txt
 
        long length = f1.length();//获取文件大小length
        System.out.println(length);//0
        
        //是否为文件夹isDirectory()
        System.out.println(f2.isDirectory());//false
        //判断是否为文件isFile()
        System.out.println(f1.isFile());//false

案例:在D盘符创建多级文件夹,并创建.txt文件

        //创建一个目录对象
        File f1 = new File("D:/a/b/c/d");
        //创建文件对象
        File f2 = new File(f1,"e.txt");
        //创建文件夹,如果父级目录没有被创建则创建父级文件夹
        f1.mkdirs();
        //创建文件
        f2.createNewFile();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java的File类是一个用于操作文件和目录的类。通过File类,我们可以对文件和目录进行创建、删除、重命名、查找等各种操作。File类提供了多个方法来获取文件和目录的属性信息,例如文件是否存在、是否是目录、是否是文件、文件的绝对路径、文件的相对路径、文件名以及文件的长度等。 以下是一些常用的File类方法: - exists():判断该文件是否存在。 - isDirectory():判断该File对象是否是一个目录。 - isFile():判断该File对象是否是一个文件。 - getAbsolutePath():返回该File对象的绝对路径名字符串。 - getPath():将该File对象转换为路径名字符串。 - getName():返回该File对象表示的文件或目录的名称。 - length():返回该File对象表示的文件的长度。 以下是一个示例代码,展示了如何使用File类的一些方法: ```java import java.io.File; public class FileExample { public static void main(String[] args) { File file = new File("D:/aaa/bbb.java"); // 判断文件是否存在 System.out.println("文件是否存在:" + file.exists()); // 判断是否是文件 System.out.println("是否是文件:" + file.isFile()); // 获取文件的绝对路径 System.out.println("文件的绝对路径:" + file.getAbsolutePath()); // 获取文件名 System.out.println("文件名:" + file.getName()); // 获取文件的长度 System.out.println("文件长度:" + file.length() + "字节"); } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值