import java.io.File;
import java.io.IOException;
import java.util.Date;
/**
* TODO 介绍File类
* create 2017年3月7日 下午10:33:09
* @author rabbit先生
*/
public class FileDemo {
/**
* File类:
* 存储在变量,数组和对象中的数据是暂时的,当程序终止时他们就会丢失.
* 为了能够永久的保存程序中创建的数据,需要将他们存储到硬盘或光盘的文件中.
* 这些文件可以移动,传送,亦可以被其他程序使用.
* 由于数据存储在文件中,所以我们需要学习一个和文件有密切关系的类,叫做File类,
* 将要掌握获取文件的属性以及删除和重命名文件.最终如何向文件中写入数据和从文件中读取数据.
* @throws IOException
*/
//下面的代码可以去掉注释自己实验
//介绍比较普遍的一下方法
public static void main(String[] args) throws IOException {
//创建File对象,需要指定文件路径{注意这里要使用"/"或者"\\"}
File file = new File("D:\\fileDemo");
//boolean mkdirs = file.mkdirs();//创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
//System.out.println(mkdirs);
//boolean mkdir = file.mkdir();//创建一个文件或文件夹
//System.out.println(mkdir);
//创建了对应文件夹的对象就可以通过java文件对这个文件进行操作
//boolean result = file.createNewFile();//对该文件进行确认,没有就创建一个空的文件
//System.out.println(result);
//boolean delete = file.delete();//删除指定 路径下的文件返回值为true标识成功,false标识失败
//System.out.println(delete);
//boolean exists = file.exists();//判断指定路径下的文件是否存在true存在,false不存在
//System.out.println(exists);
//String parent = file.getParent();//获取文件的上一级路径
//System.out.println(parent);
//String path = file.getPath();//获取文件的路径,在别人传递过来的File类的时候可以使用,获取别人的文件路径
//System.out.println(path);
//long totalSpace = file.getTotalSpace();//获取文件的磁盘大小单位B
//System.out.println(totalSpace);
//boolean boo = file.isFile();//判断该文件路径是否是一个标准文件
//System.out.println(boo);
//boolean hidden = file.isHidden();//判断文件是不是隐藏文件
//System.out.println(hidden);
//long length = file.length();//获取文件大小字节{中文占2个字节}
//System.out.println(length);
//对这个文件夹的最后修改时间做重新的修改
//需要的是long类型的时间就是毫秒
//new Date().getTime()获取当前时间的毫秒值-1000毫秒(1秒)*60(秒)*60(分)*10
//这个时间是把最后修改时间推前10个小时,如果最后修改时间是下午6点,那么经过这个修改,时间就是早上8点了
//boolean modified = file.setLastModified(new Date().getTime() - 1000*60*60*10);
//System.out.println(modified);
//boolean setReadOnly = file.setReadOnly();//设置文件为只读操作
//获取指定路径下的所有文件是一个数组{使用这个方法记得路径明确到文件夹,不要明确到文件}
File[] files = file.listFiles();
//遍历这个数组获取文件的名称并打印
for (int i = 0; i < files.length; i++) {
File f = files[i];
System.out.println(f.getName());
}
//这个类还有很多方法,不过不常用就没有一一展示
}
}