关于File类的用法

File类

属于java.io.File

作用:

        1)使用File类可以访问其表示的文件或者目录的属性信息(名字、大小、权限等)

        file通过路径表示目录和文件。即在双引号中" xxx "所写的路径。

        路径分为绝对路径和相对路径

        绝对路径:即文件在某个磁盘内的某个文件夹内,比如:D:\JSD2210\src\apiday01。

        相对路径:相对路径是相对与我们所创建的项目而言。在编写代码时,我们需要创建一个project文件夹,这个projec文件夹中存储我们所写的代码,在java中通过"."来表示project文件夹,通过这样,不管project存储在那个盘中,编译器会帮我们自动找到project中存储的各种代码。

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        //file路径下的文件
        File file = new File("./demo.txt");
        if (file.isFile()) {
            System.out.println(file.getName());//获取当前文件的名字
            System.out.println(file.length());//获取当前文件的长度
            System.out.println(file.canRead());//当前文件是否可读
            System.out.println(file.canWrite());//当前文件是否可写  
        }

        File dir = new File("./demo");
        if (dir.isDirectory()) {
            System.out.println(dir.getName());//获取当前目录的名字
            System.out.println(dir.length());//获取当前目录的长度
            System.out.println(dir.canRead());//当前目录是否可读
            System.out.println(dir.canWrite());//当前目录是否可写
        }


    }
}

结果为

demo.txt
35
true
true
demo
0
true
true

Process finished with exit code 0

        2)通过File类可以创建/删除目录或文件

        创建目录和文件        先声明File 接收当前路径下的目录,再判断file是否存在  Boolean   exist(),不存在,调用mkdir()创建目录。创建多级目录中的目录,调用mkdirs()。  

        File dir=new File("./test");//表示当前路径中的test目录
        if (dir.exists()){//判断该目录是否存在
            System.out.println("目录已存在");
        }else{
            dir.mkdir();//创建该目录
        }
        File dir1=new File("./a/test");//表水当前路径下a目录中的test目录
        if (dir1.isDirectory()){
            System.out.println("目录已存在");
        }else{
            dir1.mkdirs();//可创建多个目录
        }

        创建文件,通过先声明File 接收当前路径下的文件,再判断file是否存在boolean exist(),不存在,调用createNewFile()创建文件。调用createNewFile()时,需要先抛出异常。Alt+回车键单击createNewFile()方法Add exception to method signature,抛出异常

 public static void main(String[] args)  {...}//抛出异常前
 public static void main(String[] args) throws IOException {...}//抛出异常后

        删除当前目录中的以TSET开头的文件

        File dir=new File(".");
        File[] subs=dir.listFiles();
        for (File sub:subs){
            if (sub.getName().startsWith("TSET")){
                sub.delete();
            }
        }

        删除目录

   File dir = new File("./test");
        dir.delete();

需要配注意的是,在删除目录时,目录中必须清空,否则无法删除。比如D:\JSD2210\src\apiday01中,我们要删除src目录时,必须先将src中的目录和文件全部删除才能删除src。

        3)访问当前目录下的子项

        通过File[] listFiles(),将文档dir中的子项以列表的形式展现出来。通过增强for循环输出每个子项。

        File dir=new File("./src/main/java/file");
        File[] subs=dir.listFiles();
        for (File sub:subs){
            System.out.println(sub.getName());
        }

结果为

CreatNewFileDemo.java
DeleteDirDemo.java
DeleteFileDemo.java
FileDemo.java
ListFilesDemo.java
ListFilesDemo02.java
MKdir.java
Test.java
Test02.java

Process finished with exit code 0

总结

        File作用

        1)通过file可以访问所代表的文档或目录的属性信息(名字、大小、权限(可读、可写))。涉及getName

()、length()、isRead()、isWrite()

        2)通过file可以创建删除目录和文件,涉及mkdir()、mkdirs()、createNewFile()、delete()

        3)t通过file可以访问目录中的子项。涉及listFile()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值