package demo;
import java.io.File;
import java.text.DateFormat;
import java.util.Date;
public class FileMethodDemo {
public static void main(String[] args) {
/*
* File对象的常见功能:
* 1.获取
* 1.1获取文件名称
* 1.2获取文件路径
* 1.3获取文件大小
* 1.4获取文件修改时间
*
*
*/
fileGetDemo();
}
public static void fileGetDemo(){
//为方便演示,先在当前目录下新建文本文件a.txt
//1.封装文件
File file = new File("a.txt");
//1.1获取名称
String name = file.getName();
//1.2获取路径
String abspath = file.getAbsolutePath();//绝对路径:如c:\\abc\\a.txt
String path = file.getPath();//相对路径:在哪就所属于哪里,如a.txt在当前目录下,就所属于当前目录,在abc文件夹,就所属于abc文件夹
//【绝招】只要有盘符,就是绝对路径,没有就是相对路径
//1.3获取大小
long len = file.length();
//1.4获取修改时间
long time =file.lastModified();//最后一次修改时间
Date date = new Date(time);
DateFormat dateformat = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
String str_time = dateformat.format(date);
System.out.println("name:"+name);
System.out.println("abspath:"+abspath);
System.out.println("path:"+path);
System.out.println("len:"+len);
System.out.println("time:"+time);
System.out.println("str_time:"+str_time);
/*
* 打印结果:
* name:a.txt
* abspath:D:\Java-Eclipse-PersonalFile\vedio22.IO.32\a.txt
* path:a.txt
* len:27(如果文件不存在,这里大小显示0)
* time:1427978586000
* str_time:2015年4月2日 下午08时43分06秒
*/
/**
* 注意:File file = new File("xxx")中,无论xxx是什么,如果用getAbsolutePath()都是获取绝对路径
* 但是如果xxx是c:\\abc\\a.txt,那么getPath()获取的就是c:\\abc\\a.txt,如果xxx是a.txt,那么getPath()获取的就是a.txt
* 所以,getPath()是xxx写什么就拿什么,而getAbsolutePath()总是获取绝对路径
*/
//额外方法
System.out.println("parent:"+file.getParent());//获取该文件的父目录,如c:\\abc\\a.txt中c:\\abc就是文件a.txt的父目录
/**
* 【lastModified()方法的重要用途】
* 单独开辟一个线程,专门用于监控文件的时间,每3秒用lastModified()监控一次,只要时间不一样,说明文件被改写,那么用流
* 去操作文件中的新内容。
*/
}
}