File类常用方法---java知识

💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习


一、File类基本概念

在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。

File 类不能访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流。

File 类提供了如下三种形式构造方法。

  1. File(String path):如果 path 是实际存在的路径,则该 File 对象表示的是目录;如果 path 是文件名,则该 File 对象表示的是文件。
  2. File(String path, String name):path 是路径名,name 是文件名。
  3. File(File dir, String name):dir 是路径对象,name 是文件名。

二、常用API

1.获取文件绝对路径

方法源码:

 public String getAbsolutePath() {
        return fs.resolve(this);
    }

范例:

File v=new File("src/data.txt");
System.out.println(v.getAbsolutePath());

返回File对象的绝对路径

2.获取文件定义时候使用的路径

方法源码:

 public String getPath() {
        return path;
    }

范例:

File v=new File("src/data.txt");
System.out.println(v.getPath());

返回文件定义时候使用的路径

3.获取文件的名称,带后缀

方法源码:

 public String getName() {
        int index = path.lastIndexOf(separatorChar);
        if (index < prefixLength) return path.substring(prefixLength);
        return path.substring(index + 1);
    }

范例:

File v=new File("src/data.txt");
System.out.println(v.getName());

4.获取文件的大小,字节个数

方法源码:

  public long length() {
        SecurityManager security = System.getSecurityManager();
        if (security != null) {
            security.checkRead(path);
        }
        if (isInvalid()) {
            return 0L;
        }
        return fs.getLength(this);
    }

范例:

File v=new File("src/data.txt");
System.out.println(v.length());

5.获取文件的最后修改时间

方法源码:

public long lastModified() {
        SecurityManager security = System.getSecurityManager();
        if (security != null) {
            security.checkRead(path);
        }
        if (isInvalid()) {
            return 0L;
        }
        return fs.getLastModifiedTime(this);
    }

范例:

File v=new File("src/data.txt");
System.out.println(v.lastModified());

返回值为long。

6.判断文件对象是文件还是文件

范例:

File v=new File("src/data.txt");
System.out.println(v.isFile());
System.out.println(v.isDirectory());

总体实现

代码:

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

public class Work_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		File v=new File("src/data.txt");
		//判断文件对象是文件还是文件夹
		System.out.println(v.isFile());        //判断是否是文件
		System.out.println(v.isDirectory());   //判断是否是文件夹
		//返回最后修改时间
		long time =v.lastModified();           //输出的是秒
		SimpleDateFormat date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(date.format(time)); //输出正常年月日
		
		//返回文件大小,字节数
		System.out.println(v.length());
		//返回文件名字
		System.out.println(v.getName());
		//返回文件相对路径
		System.out.println(v.getPath());
		//返回文件绝对路径
		System.out.println(v.getAbsolutePath());
	}
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值