JavaSE-File类

1.File类

1.1 File类概述

基本概念

  • 代表当前操作系统的文件对象。
  • 是用来操作操作系统的文件对象的,删除文件,获取文件信息,创建文件(文件夹)
1.2 创建对象的API

构造器方法

方法声明功能概述
File(String pathname)根据参数指定的路径名来构造对象
File(String parent, String child)根据参数指定的父路径和子路径信息构造对象
File(File parent, String child)根据参数指定的父抽象路径和子路径信息构造对象
boolean exists()测试此抽象路径名表示的文件或目录是否存在
1.3 创建文件对象的格式
 File f = new File("绝对路径/相对路径");

绝对路径

  • 从磁盘的的盘符一路走到目的位置的路径。
  • 绝对路径依赖具体的环境,一旦脱离环境,代码可能出错!!

相对路径:

  • 去找工程中的文件才可以使用相对路径。没有盘符,默认就是直接去工程下寻找文件的
  • 能用相对路径就尽量用,相对路径在任何环境下都是没有问题的!

代码示例

package cn.guardwhy_01;

import java.io.File;

/**
总结:
 File创建文件对象:路径可以是绝对路径,相对路径,文件路径,文件夹路径。
 能用相对路径就用相对路径,相对路径只有项目中的文件才能用.
 */
public class FileDemo01 {
    public static void main(String[] args) {
        public static void main(String[] args) {
        // 绝对路径
        File f1 = new File("E:\\workspace\\Java\\IOStream\\src\\test1\\timg.jpg");
        System.out.println("图片长度:" + f1.length());

        // 相对路径:默认是相对到工程目录下直接寻找。
        File f2 = new File("src/test1/test01.txt");
        System.out.println("test01:" + f2.length());

        // 3. File f = new File("文件路径/文件夹路径");
        File f3 = new File("E:\\workspace\\Java\\IOStream\\src\\test1");
        System.out.println("文件存在:" + f3.exists());
    }
    }
}

执行结果

2 File类获取功能

2.1 常用方法
方法声明功能概述
String getAbsolutePath( )返回此File的绝对路径名字符串
String getPath( )返回由此File表示的文件或目录的名称。
long length( )返回由此File表示的文件的长度。
2.2 代码示例
package cn.guardwhy.demo01;

import java.io.File;
import java.text.SimpleDateFormat;

public class FileDemo02 {
    public static void main(String[] args) {
        // 1.定义一个文件对象
        File f = new File("E:\\workspace\\Java\\IOStream\\src\\test1\\timg.jpg");
        // 获取当前文件对象的绝对路径的字符串
        System.out.println("路径:" + f.getAbsolutePath());    // 路径:E:\workspace\Java\IOStream\src\test1\timg.jpg
        
        // 获取创建文件对象的时候用的路径
        // 创建文件对象的时候用的路径:E:\workspace\Java\IOStream\src\test1\timg.jpg
        System.out.println("创建文件对象的时候用的路径:" + f.getPath()); 
        
        // 获取当前文件对象的名称
        System.out.println("文件对象的名称:" + f.getName());   // 文件对象的名称:timg.jpg
        // 获取文件的大小(字节总数大小)
        System.out.println("字节总数大小:" + f.length()); // 字节总数大小:19383
        System.out.println("+++++++++++++++++==+++++++");
        // 2.创建一个文件对象
        File f1 = new File("src/guardwhy");
        // 获取当前文件对象的绝对路径的字符串
        System.out.println("绝对路径:" + f1.getAbsolutePath()); // 绝对路径:E:\workspace\Java\IOStream\src\guardwhy
        // 获取创建文件对象的时候用的路径
        System.out.println("创建文件对象的时候用的路径:" + f1.getPath());    // 创建文件对象的时候用的路径:src\guardwhy
        // 获取当前文件对象的名称
        System.out.println("文件对象的名称:" + f1.getName());  // 文件对象的名称:guardwhy
        // 获取文件的大小(字节总数大小)
        System.out.println("字节总数大小:" + f1.length());    // 字节总数大小:0
        System.out.println("++++++++++++++++++++++++++++++++");

        // 获取它的上级目录的字符串
        System.out.println("上级目录:" + f.getParent());    // 上级目录:E:\workspace\Java\IOStream\src\test1
        // 获取它的上级目录的文件对象
        System.out.println("上级目录的文件对象:"+ f.getParentFile());    // 上级目录的文件对象:E:\workspace\Java\IOStream\src\test1
        // 获取文件的最后修改时间
        long time = f.lastModified(); // 时间毫秒值
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE a");
        System.out.println("格式化时间:" + sdf.format(time));    // 格式化时间:2020-06-29 17:58:56 星期一 下午
    }
}

3 File类判断功能

3.1 常用方法
方法声明功能概述
boolean exists( )此File表示的文件或目录是否实际存在
boolean isDirectory( )此File表示的是否为目录。
boolean isFile()此File表示的是否为文件
3.2 代码示例
package cn.guardwhy.demo01;

import java.io.File;

public class FileDemo03 {
    public static void main(String[] args) {
        // 1.定义一个文件对象
        File f1 = new File("E:\\workspace\\Java\\IOStream\\src\\test1\\timg.jpg");
        // 检测路径是否存在的。检测文件是否存在
        System.out.println(f1.exists()); // true
        // 判断文件对象是否是文件,是文件返回true,反之false
        System.out.println(f1.isFile()); // true
        // 判断文件对象是否是文件夹
        System.out.println(f1.isDirectory());    // false

        // 定义一个文件对象
        File f2 = new File("E:\\workspace\\Java\\IOStream\\src\\test1");
        // 检测路径是否存在的。检测文件是否存在
        System.out.println(f2.exists());    // true
        // 判断文件对象是否是文件
        System.out.println(f2.isFile());  // false
        // 判断文件对象是否是文件夹
        System.out.println(f1.isDirectory());   // false
    }
}

4.File类创建和删除

4.1 常用方法
方法声明功能概述
boolean createNewFile( )当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
boolean delete( )删除由此File表示的文件或目录。(只能删除空目录)
boolean mkdir( )创建由此File表示的目录。(只能创建一级目录)
boolean mkdirs( )创建由此File表示的目录,包括任何必需但不存在的父目录。
4.2 代码示例
package cn.guardwhy.demo01;

import java.io.File;

public class FileDemo04 {
    public static void main(String[] args) throws Exception{
        // 定义文件对象
        File f1 = new File("src/test1/test01.txt");
        // 创建一个新文件对象,因为以后文件都是可以自动创建的
        System.out.println(f1.createNewFile());

        // 删除文件对象
        System.out.println(f1.delete());
        // delete如果删除文件夹,只能删除空文件夹
        File f2 = new File("src/test1/test2");
        System.out.println(f2.delete());    // true

        // 创建一个文件夹
        File f3 = new File("E:\\workspace\\Java\\IOStream\\src\\test1\\ab");
        System.out.println(f3.mkdir()); // true
    }
}

5.File目录的遍历

5.1 常用方法
方法声明功能概述
String[] list( )获取当前目录下所有的一级文件名称到一个字符串数组中去返回。
File[] listFiles( )(常用)获取当前目录下所有的一级文件对象到一个文件对象数组中去返回。
5.2 代码示例
package cn.guardwhy.demo01;

import java.io.File;

public class FileDemo05 {
    public static void main(String[] args) {
        // 定位一个目录
        File f = new File("src/cn/guardwhy");
        // 获取当前目录下所有的一级文件名称到一个字符串数组中去
        String[] names = f.list();
        // 遍历操作
        for(String n : names){
            System.out.println(n);
        }

        // 获取当前目录下所有的一级文件对象到一个文件对象数组中去返回。
        File[] files = f.listFiles();
        for(File f1 : files){
            System.out.println(f1.getAbsolutePath());
        }
    }
}
5.3 执行结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值