文章目录

  • 一、File类基本概念
  • 二、常用API
  • 1.获取文件绝对路径
  • 2.获取文件定义时候使用的路径
  • 3.获取文件的名称,带后缀
  • 4.获取文件的大小,字节个数
  • 5.获取文件的最后修改时间
  • 6.判断文件对象是文件还是文件
  • 总体实现



一、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());
	}
	
}