File:
File:抽象表示的文件和目录的路径名。
1.File构造:
File(String pathname):根据路径得到一个File对象
File(File parent, String child):根据一个父File对象和 一个子文件
File(String parent, String child):根据一个目录得到目 录下的文件
上面三种构造实现的效果都是一样的。
举例:
File file = new File("F:\\seehope_edu\\Java_20180420 \\javase_day15\\课堂笔记\\error.txt");
File file2 = new File("F:\\seehope_edu\\Java_· 20180420 \\javase_day15\\");
File file3 = new File(file2,"课堂笔记 \\error.txt"); //字符串拼接
File file4 = new File("F:\\seehope_edu\\Java_ 20180420 \\javase_day15课堂笔记\\","error.txt");
注:
fIle对象 与 SimpleDateFormat对象 同样要先用字符串初 始化,并且初始化后不能更改。
2.boolean createNewFile():创建文件 如果存在相同文件, 就不创建了 否则自动创建
boolean mkdir():创建文件夹,如果存在同名文件 则不创 建,否则自动创建
boolean mkdirs():创建多层文件夹,如果父文件夹存在 则 不创建,否则自动创建
注:是根据初始化的字符串file变量
举例:
String path = "F:\\seehope_edu\\Java_20180420 \\javase_day15\\课堂笔记\\";
File file = new File("F:\\seehope_edu\\Java_20180420 \\javase_day15\\课堂笔记\\a.gif");
System.out.println(file.createNewFile());
File file2 = new File("F:\\seehope_edu\\Java_20180420 \\javase_day15\\课堂笔记\\b");
System.out.println(file2.mkdir());
File file3 = new File("F:\\seehope_edu\\Java_20180420 \\javase_day15\\课堂笔记\\b\\c\\d\\e\\f\\g");
System.out.println(file3.mkdirs()); //多层嵌套文件夹
File file4 = new File(path+"c\\d\\d\\jls.txt");
System.out.println(file4.mkdirs()); //只能创文件夹
3.public boolean delete():删除文件或者目录,前提是该文 件必须为空(龙哥说:不能删,好多橘梨纱)
注意事项:
a.如果你创建了文件夹,但是忘记写路径名则以项目的 根 路径为参考
//相创建文件 文件夹必须在定义对象时初始化
b.Java的回收不经过回收站,直接物理删除(找不回,你可以 花几百块去找数据恢复)
e.要删除一个文件夹,必须保证文件夹的内容为空
举例:
String path = "F:\\seehope_edu\\Java_20180420 \\javase_day15\\课堂笔记";
File file = new File(path+"c/d/d/jls.txt");//如果没 有表明任何的具体路径,则以该Java项目为根路径
System.out.println(file.createNewFile());//true
System.out.println(file.delete());
4. boolean renameTo(File dest):重命名
如果路径一致,就是改名
如果路径不一致,就是改名并且剪切过去
举例:
File file = new File("toobug.jgp");
file.createNewFile();
File file2 = new File("e://橘梨纱.jgp");
System.out.println(file.renameTo(file2));
注:必须有两个File对象
5.判断功能:
boolean isDirectory():判断是否为目录
boolean isFile():判断是否为文件
boolean exists():判断是否存在
boolean canRead():判断是否可读
boolean canWrite():判断是否可写
boolean isHidden():判断是否隐藏
举例:
String path = "F:\\seehope_edu\\Java_20180420 \\javase_day15\\课堂笔记\\";
File file = new File(path);
//判断是否为目录
System.out.println(file.isDirectory());
//判断是否为文件
System.out.println(file.isFile());
//判断是否存在
System.out.println(file.exists());
获取功能:
String getAbsolutePath():返回文件的绝对路径
String getPath():获取相对路径
String getName:获取名字
long length():获取字节数
long lastModified():最后的修改时间,以毫秒值为单 位
举例:
1> ../以当文件为根目录往上搜,单层网上搜,如果 没找到就报错
2> ../../你好/ 往上两层找到“你好文件“
String[] list():以数组形式返回指定目录下面的所有文件 和文件夹
File[] listFiles():以File数组返回指定目录下面的所有 文件和文件夹
获取某个目录下面的所有文件(不包含下级文件的文件)
//单层关系,只能获取到一层
举例:
File file = new File("E://");
String[] str = file.list();
for (String s : str) {
System.out.println(s);
} //增强循环真的好用
System.out.println("--------------------");
File[] fileArr = file.listFiles();
for(File f : fileArr) {
long time = f.lastModified();
Date d = new Date(time);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(d);
System.out.println(f.getName()+"/最后修改 时间:"+s+"/文件大小:"+f.length());