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

前言:

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);
            }
        }
    }
}

 

posted @ 2020-12-15 21:02  康世行  阅读(30)  评论(0编辑  收藏  举报