java之旅 (第十一天)文件 File类

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());
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值