import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* java.io.File
* File的每一个实例用于表示文件系统中的一个文件或目录
* 使用File可以:
* 1.访问文件或目录的属性信息(名字,大小,修改时间)
* 2.操作文件或者目录(创建,删除)
* 3.访问目录子项
*
* File类只能用于表示文件(目录)的信息(名称,大小等),不能对文件的内容进行访问
*
*/
public class FileDemo {
public static void main(String[] args) throws IOException {
/**
* File(String pathname)通过将给定路径名字字符串转换成抽象路径名来创建一个新File实例
* 抽象路径尽量使用相对路径,并且目录的层级分隔符不要直接写" /"或" \",应使用File.separator这个常量表示,以避免不同系统带来的差异
*
* 相对路径常用:
* 1.类加载路径(常用)
* 2.当前目录,在eclipse中当前目录就是指当前类所在的项目目录
*/
File file=new File("."+File.separator+"demo.txt");//.代表的是本项目的根目录
String name=file.getName();
System.out.println(name);
/**long length()-返回值:当前File对象所表示的文件所占用的字节量**/
long length=file.length();//大小,字节量
System.out.println("字节量:"+length);
boolean cr=file.canRead();//可读
System.out.println("可读:"+cr);
boolean cw=file.canWrite();//可写
System.out.println("可写:"+cw);
boolean in=file.isHidden();//隐藏
System.out.println("是否隐藏:"+in);
long time=file.lastModified();//最后修改时间
Date date=new Date();
date.setTime(time);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
String date1=sdf.format(date);//日期转换成字符串
System.out.println("最后修改时间:"+date1);
// System.out.println("最后修改时间:"+sdf.format(time));
/**
* 创建文件
* boolean createNewFile():如果指定的文件不存在并成功创建,返回true,如果已经存在,返回false
* 当前目录下创建名为:test.txt的文件
* ./ 不写,默认也是在当前目录下
*/
File file1=new File("test.txt");
/**boolean exists() 判断当前File表示的文件或目录是否存在,存在返回:true,否则返回false**/
if(!file1.exists()) {
file1.createNewFile();
System.out.println("文件创建完毕");
}else {
System.out.println("该文件已经存在");
}
/**
* 删除当前目录中的文件
* boolean delete()
* 返回值:当且仅当成功删除文件或目录时,返回true;否则返回false
* 注意:若此File对象所表示的是一个目录时,在删除时需要保证此为空目录才可以成功删除(目录中不能含有任何子项)
*/
if(file1.exists()) {
file1.delete();
System.out.println("删除完毕");
}
}
}