File类

package File.FileDemo01;

import java.io.File;

/**
 *      java.io.File类
 *      文件和目录路径名的抽象表示形式
 *          java将电脑中的文件和文件夹(目录)封装为File类,可以使用File类对文件和文件夹进行操作
 *          可以使用File类的方法
 *              创建一个文件/文件夹
 *              删除文件/文件夹
 *              获取文件/文件夹
 *              判断文件/文件夹是否存在
 *              对文件夹进行遍历
 *              获取文件大小
 *          File类为与系统无关的类,任何操作系统都可以使用类中方法
 *
 *          重点:
 *              1.file
 *              2.directory:文件夹/目录
 *              3.path:路径;
 *
 *    public File(String pathname):通过给定路径名字字符串转换为抽象路径名创建File
 *    public File(String parent,String child):通过从父路径字符串与子路径字符串创建新的File实例
 *    public File(File parent,File chile):从父抽象路径名与子抽象路径名字符串创建File实例
 */

public class DemoFile01 {

    public static void main(String[] args) {
        /**
         * static String pathSeparator 与系统有关的路径分隔符,表示一个字符串
         * static char pathSeparatorChar 与系统有关路径分隔符
         * static String separator 与系统有关默认名称分隔符,被表示为一个String
         * static char separatorChar 与系统有关默认名称分隔符
         *
         *
         * 操作路径依据操作系统
         * windows  C:\develop\a\a.txt
         * linux    C:/develop/a/a.txt
         *
         * 分隔符使用File静态变量替换
         * "C:"+File.separator+"develop"+File.separator+"a"+File.separator+"a.txt"
         */
        String pathSeparator= File.pathSeparator;
        System.out.println(pathSeparator);//路径分隔符;
        System.out.println(File.pathSeparatorChar);//;

        System.out.println(File.separator);//文件名称分隔符windows为\   linux为/
    }
}

/**
 * 路径:
 *      绝对路径:
 *          一个完整的路径
 *          以盘符(C:,D:)开始
 *          c:\\user\\java\\project\\DemoFile.java
 *      相对路径:
 *          相对指相对于当前项目根目录(c:\\user\\java\\project)
 *          如果使用当前项目根目录,路径简化为:
 *              c:\\user\\java\\project\\DemoFile.java->>简化为:DemoFile.java
 *      路径不区分大小写;
 *      windows中文件分隔符为\,\为转义字符,两个\\代表一个普通\
 *
 *
 *
 *
 *    public File(String pathname):通过给定路径名字字符串转换为抽象路径名创建File
 *    public File(String parent,String child):通过从父路径字符串与子路径字符串创建新的File实例
 *    public File(File parent,File chile):从父抽象路径名与子抽象路径名字符串创建File实例
 */
public class DemoFile02 {
    public static void main(String[] args) {
        show03();
    }


    //构造方法1
    private static void show01()
    {
        File file=new File("E:\\java_file:\\untitled:\\file.txt");
        System.out.println(file);
    }
    //构造方法2
    private static void show02()
    {
        File file=new File("E:","file.txt");
        System.out.println(file);
    }

    /**
     * File(File parent,String child)根据parent抽象路径名与child路径名字符串创建一个File实例
     * 参数:
     *      File parent:父路径
     *      String child:子路径
     */

    public static void show03()
    {
        File parent=new File("D:\\");
        File file=new File(parent,"file.txt");
        System.out.println(file);
    }
}
/**
 * File类获取功能方法
 *      public String getAbsolutePath();获取该File实例对象的绝对路劲名字符串
 *      public String getPath();将此File转换为路径名字符串
 *      public String getName();返回由此File表示的文件或目录名称
 *      public long length();返回此File表示的文件的长度
 */

public class DemoFile03 {
    public static void main(String[] args) {
        show01();
    }

    /**
     * public long length()
     * 返回:此File类实例对象表示的文件的长度,获取构造方法指定的文件的大小
     * 注意:
     *      文件夹没有大小概念,不能获取文件夹大小
     *      File路径不正确,length方法返回0;
     */
    private static void show01(){
        File file=new File("C:\\Users\\xiaomi\\Desktop\\sel.png");
        System.out.println(file.length());
        File file01=new File("C:\\Users\\xiaomi\\Desktop\\seh.png");
        System.out.println(file01.length());//路径错误,返回0;


        File file02=new File("test.txt");
        System.out.println(file.getName());//获取此对象的文件或目录名称
        System.out.println(file.getPath());//获取此对象的路径名字符串
        System.out.println(file.getAbsolutePath());//获取绝对路径名字符串

        System.out.println(file02.getPath());
        System.out.println(file02.getAbsolutePath());
    }
}

/**
 * File类判断功能方法:
 *      public boolean exists()判断此File文件是否存在
 *      public boolean isDirectory()此File表示的是否是目录
 *      public boolean isFile():此File是否是文件
 */
public class DemoFileJudge {
    public static void main(String[] args) {
        show01();
    }
    private static void show01()
    {
        File file=new File("C:\\Users\\xiaomi\\Desktop\\sel.png");
        if(file.exists())
        {
            System.out.println("C:\\Users\\xiaomi\\Desktop\\sel.png是否为文件:"+file.isFile());
            System.out.println("C:\\Users\\xiaomi\\Desktop\\sel.png是否为目录:"+file.isDirectory());
        }
        File file01=new File("C:\\Users\\xiaomi\\Desktop");
        if(file01.exists())
        {
            System.out.println("C:\\Users\\xiaomi\\Desktop是否为目录:"+file01.isDirectory());
            System.out.println("C:\\Users\\xiaomi\\Desktop是否为文件:"+file01.isFile());
        }
    }
}


/**
 * File类删除功能方法
 *      public boolean creatNewFile():当且仅当该名称文件不存在时,创建一个新的空文件
 *      public boolean delete():删除此File表示的文件或目录
 *      public boolean mkdir():创建由此File表示的目录
 *      public boolean mkdirs():创建由此File表示的目录,包括任何必须但不存在的父目录
 */
public class DemoDelete {
    public static void main(String[] args)throws IOException {
        show02();
    }
    private static void show01() throws IOException
    {
        File file=new File("E:\\Java_file\\untitled\\test.txt");
        System.out.println(file.createNewFile());
        System.out.println(file.delete());
    }

    /**
     * public boolean mkdir():创建单级空文件夹
     * public boolean mkdirs():创建多级/单级空文件夹
     * 返回值:
     *      true:文件夹不存在,创建文件夹,返回true
     *      false:文件夹存在,不能创建;此File类对象表示的为文件也不可被创建
     */
    private static void show02()
    {
        File file=new File("E:\\Java_file\\untitled\\aaa\\bbb\\ccc");
        System.out.println(file.mkdirs());
        System.out.println(file.delete());//文件夹中有内容,不会删除返回false;
        File file01=new File("E:\\Java_file\\untitled\\111.txt");
        System.out.println(file01.mkdir());
        File file02=new File("E:\\Java_f\\untitled\\111");
        System.out.println(file02.mkdirs());//不会抛出异常,路径不存在,不会创建
    }
}


/**
 * File类遍历,目录功能
 *      public String[] list():返回一个String数组,表示该File目录中的所有子文件或目录
 *      public File[] listFiles():返回一个File数组,表示该File目录中的所有子文件或目录
 *
 *  list方法和listFiles方法遍历的是构造方法中给出的目录
 *  如果构造方法中给出的目录的路径不存在,会抛出空指针;
 *  如果构造方法中给出的路径不是一个目录,也会抛出空指针异常
 */


public class DemoFile05 {
    public static void main(String[] args) {
        show02();
    }

    private static void show01()
    {
        File file=new File("C:\\Users\\xiaomi\\Desktop");
        String [] strings=file.list();//将文件封装为File类,多个File;
        for (String string : strings) {
            System.out.println(string);
        }
    }

    private static void show02()
    {
        File file=new File("C:\\Users\\xiaomi\\Desktop");
        File[] files=file.listFiles();
        for (File fileName : files) {
            System.out.println(fileName);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值