Java基础【File类】基础操作--史上最简单入门Demo

举报
ksh1998 发表于 2021/12/26 00:45:06 2021/12/26
1.2k+ 0 0
【摘要】 前言: java.io.File类是对文件和文件件进行操作的,可以对文件进行读取,写入。以及遍历文件夹里的所有文件,还可以创建文件/文件夹和删除文件及文件夹。下面从如何创建File对象,如何获取对象的路径,路径分为绝对路径和相对路径。还有一些对文件和文件夹的判断功能。还有创建删除文件/文件夹 目录 获取功能方法 判断功能方法 ...

前言:

java.io.File类是对文件和文件件进行操作的,可以对文件进行读取,写入。以及遍历文件夹里的所有文件,还可以创建文件/文件夹和删除文件及文件夹。下面从如何创建File对象,如何获取对象的路径,路径分为绝对路径和相对路径。还有一些对文件和文件夹的判断功能。还有创建删除文件/文件夹

目录

获取功能方法

判断功能方法

创建和删除功能方法

综合案例:递归打印多级目录


获取功能方法

public String getAbsolutePath() :返回此File的绝对路径名字符串。


      File f = new File("d:/aaa/bbb.java");
      System.out.println("文件绝对路径:"+f.getAbsolutePath());
      System.out.println("文件构造路径:"+f.getPath());
  
 

public String getPath() :将此File转换为路径名字符串。


      File f2 = new File("d:/aaa");
      System.out.println("目录绝对路径:"+f2.getAbsolutePath());
      System.out.println("目录构造路径:"+f2.getPath());
  
 

public String getName() :返回由此File表示的文件或目录的名称。


      File f2 = new File("d:/aaa");
      System.out.println("目录名称:"+f2.getName());
  
 

public long length() :返回由此File表示的文件的长度。


      File f2 = new File("d:/aaa");
      System.out.println("目录长度:"+f2.length());
  
 

判断功能方法

public boolean exists() :此File表示的文件或目录是否实际存在。


       //创建文件 (如果判断文件夹也可怎么用)
              File f3=new File("ksh.txt");
             //判断文件是否存在
             if(!f3.exists()){
                  System.out.println("文件存在");
              }
  
 

public boolean isDirectory() :此File表示的是否为目录。


       //F:\TGB\自己作品\Java\baistplus\k
              File f1=new File("F:\\TGB\\自己作品\\Java\\baistplus\\k");
             //判断是否存在
             if(f1.exists()){
                 //判断是否是目录
                 if(f1.isDirectory()){
                      String[] list = f1.list();
                     for (String s : list) {
                          System.out.println(s);
                      }
                  }
              }else {
                  System.out.println("文件夹不存在");
              }
  
 

public boolean isFile() :此File表示的是否为文件。


      File f = new File("d:\\aaa\\bbb.java");
      // 判断是否是文件
      System.out.println("d:\\aaa 文件?:"+f2.isFile());
  
 

创建和删除功能方法

public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。


       //创建文件
              File f3=new File("ksh.txt");
             //判断文件是否存在
             if(!f3.exists()){
                 //不存在就创建一个ksh.txt的文件
                 try {
                     boolean newFile = f3.createNewFile();
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }
  
 

public boolean delete() :删除由此File表示的文件或目录。


       File f2= new File("newDir");
        File f=new File(pat);//文件
      // 文件的删除
      System.out.println(f.delete());// true
      // 目录的删除
      System.out.println(f2.delete());// true
  
 

public boolean mkdir() :创建由此File表示的目录。


      //创建目录
              File f4=new File("ksh");
             boolean mkdir = f4.mkdir();
             //判断目录是否创建成功
             if(mkdir==true){
                  System.out.println("目录创建成功");
              }else{
                  System.out.println("目录创建失败");
              }
  
 

public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。


      //创建多级目录
              File f5=new File(f4.getName()+"\\demo01");
             boolean mkdirs = f5.mkdirs();
             //判断是否创建成功
             if(mkdirs){
                  System.out.println("多级目录创建成功!");
                 String absolutePath1 = f5.getAbsolutePath();
                  System.out.println(absolutePath);
              }else {
                  System.out.println("多级目录创建失败!");
              }
  
 

综合案例:递归打印多级目录


      package com.itheima.demo03.Recursion;
      import java.io.File;
      /*
      * 递归打印目录
      * */
      public class Demo04Recurison {
         public static void main(String[] args) {
                  File f=new File("F:\\TGB");
                  getAllFile(f);
          }
         /*
       * 定义一个方法,参数传递File类型的目录
       * 方法中对目录进行遍历
       * */
         public static void getAllFile(File dir){
             //获取File类型数组
              File[] files = dir.listFiles();
             //输出遍历之前的文件夹名称
              System.out.println(dir);
             //遍历files数组
             for (File file : files) {
                 //判断file是否是目录
                 if(file.isDirectory()){
                     //是目录就继续调用getAllFile()方法进行遍历(递归遍历目录)
                      getAllFile(file);
                  }else {
                     //直接输出文件
                      System.out.println(file);
                  }
              }
          }
      }
  
 

文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。

原文链接:kangshihang.blog.csdn.net/article/details/111239664

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。