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());// truepublic 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);
            }
        }
    }
}
    欢迎访问csdn的博客:
https://blog.csdn.net/kangshihang1998?spm=1010.2135.3001.5343
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号