java之file文件类

java之File文件类

File文件类简介

File类定义了一些与平台无关的方法来操作文件,包括对文件的创建、删除、重命名等。还可以用来获取文件本身的信息,如文件所在目录、文件的长度、文件读写权限等。注意,如果要对文件进行读写的话,需要数据流类来执行。File类本身不提供接口进行读写。

标准文件

  • 创建代理

    File s =new File("te.txt")
    

    如果文件名前面…/则代表在项目的前一级目录中,如果在文件名前面有两个…/…/则是将文件创建在项目目录的前两级目录中

  • 创建文件

    • 当且仅当不存在具有此抽象路径指定名称的文件时,不可分的创建一个新的空文件。常与exist()函数搭配起来使用

      import java.io.File;
      import java.io.IOException;
      public class FileTest {
        public static void main(String[] args) {
        File file = new File("D:\\test","test6.txt");
          if(file.exists()){
          file.delete() ;
            System.out.println("文件已删除!");
        }else {
        try {
          file.createNewFile() ;
            System.out.println("文件已创建!");
        } catch (IOException e) {
          e.printStackTrace();
            }
              }
          }
        }
      
  • 判断文件是否存在

    //承接上面的代码
    s.exist() //返回的是布尔值
    
  • 删除文件

    s.delete()
    
  • 检验文件

    • isDirectory()用来测试此抽象路径名表示的文件是否是一个目录。
    • isFile()测试此抽象路径名表示的文件是否是一个标准文件。
  • 重命名文件

    • 首先要创建新的代理

      File nameto = new File("../new hello.txt")
      
    • 将代理传给原来的文件

      file.renameTo(nameto)
      
  • 代码示例

    import java.io.File;
    import java.io.IOException;
    public class FileTest {
    
        public static void main(String[] args) {
            //创建文件代理
            File f = new File("E:\\yufa\\src","1.txt");
            //创建判断文件是否存在
            System.out.println("文件是否存在"+f.exists());
            //删除文件
            //f.delete();
            //System.out.println("文件是否存在"+f.exists());
            //重命名文件
            File rename = new File("E:\\yufa\\src","2.txt");
            if(f.exists()){
                f.renameTo(rename);
            }else {
                try {
                    f.createNewFile();
                    f.renameTo(rename);
                    System.out.println(f.getName());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
  • 运行结果

    文件是否存在false
    
  • 文件结构
    在这里插入图片描述

目录文件

  • 创建

    • mkdir()方法,返回值为布尔类型。如果创建的文件夹已经存在,就会返回一个false;但是必须存在父目录,如果不存在父目录,那么将创建失败;

      • 父目录存在

        • 代码

          import java.io.File;
          public class FileTestTwo {
          
              public static void main(String[] args) {
                  File f =new File("E:/yufa/src/","newfolder");
                  if(f.exists()){
                      System.out.println("此文件夹已经存在");
                  }else {
                      if(f.mkdir()){
                          System.out.println("文件创建成功");
                      }
                  }
              }
          }
          
        • 结果

          文件创建成功
          
        • 文件目录
          在这里插入图片描述

      • 父目录不存在

        import java.io.File;
        public class FileTestThree {
        
            public static void main(String[] args) {
                File f =new File("E:/yufa/src/C","newfolder");
                if(f.exists()){
                    System.out.println("此文件夹已经存在");
                }else {
                    if(f.mkdir()){
                        System.out.println("文件创建成功");
                    }else{
                        System.out.println("无法创建文件夹");
                    }
                }
            }
        }
        
      • 运行结果

        无法创建文件夹
        
    • mkdirs()方法,如果父目录不一定存在,如果不存在,那么会将父目录一并创建。

      • 父目录不存在

        import java.io.File;
        
        public class FileTestThree {
            public static void main(String[] args) {
                File f =new File("E:/yufa/src/C","newfolder");
                if(f.exists()){
                    System.out.println("此文件夹已经存在");
                }else {
                    if(f.mkdirs()){
                        System.out.println("文件创建成功");
                    }else{
                        System.out.println("无法创建文件夹");
                    }
                }
            }
        }
        
      • 执行结果
        在这里插入图片描述

  • 删除

    //例如:
    f.delete();
    
  • 重命名

    //进入了
    import java.io.File;
    public class FileTestFour {
    
        public static void main(String[] args) {
            File file =new File("my new folder/one/two/three/four");
            if(file.exists()){
                System.out.println("此文件夹已经存在");
            }else {
                if(file.mkdirs()){
                    System.out.println("文件创建成功");
                }
            }
    
            File newfile =new File("my new foloder/one/two/three/my_new_folder");
            if(file.renameTo(newfile)){
                System.out.println("重命名成功");
            }
        }
    }
    
  • 结果

    文件创建成功
    

file类不能实现对文件的读写,数据流类可以实现文件的读写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值