您的位置:首页 > 其它

22-IO流-32-IO流(File对象-常见功能-获取)

2015-08-11 16:07 169 查看
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()监控一次,只要时间不一样,说明文件被改写,那么用流
* 去操作文件中的新内容。
*/
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: