File类

  • 创建File对象
package bull1710.File;

import java.io.File;

/*
 * File
 */
public class FileDemo1 {
    public static void main(String[] args) {
        //File(String pathname):将指定的路径名转为File对象
        File f1 = new File("F:\\a\\b.txt");
        //File(String parent,String child);根据指定的父路径和文件路径创建File对象
        File f2 = new File("F:\\a","c.txt");
        //File(File parent,String child);根据指定的父路径对象和文件路径创建File对象
        File parent = new File("F:\\a");
        File f3 = new File(parent,"d.txt");
        //采用匿名对象方式
        File f4 = new File(new File("F:\\a"),"e.txt");
    }
}
  • File的创建和删除
package bull1710.File;

import java.io.File;
import java.io.IOException;

/*
 * File创建和删除
 * 
 * 创建功能:
 *      boolean createNewFile();
 *      boolean mkdir();
 *      boolean mkdirs();
 * 
 * 删除功能:
 *      boolean delect();
 *      注意:删除一个文件 时,这个文件下不能有其他文件夹
 */
public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        //boolean createNewFile();当指定文件不存在时创建文件并返回true,否则返回false
        File f2 = new File("a.txt");
        System.out.println(f2.createNewFile());
        //boolean mkdir();当指定文件夹不存在时创建文件夹并返回true,否则返回false
        File f3 = new File("b");
        System.out.println(f3.mkdir());
        //boolean mkdirs();创建指定文件夹,当文件夹所在的目录不存在,则一块创建了,并返回true,否则返回false
        File f4 = new File("c\\d\\e");
        System.out.println(f4.mkdirs());

        //boolean delect();
        System.out.println(f2.delete());
        //f4.delect()删除的是e文件夹
        System.out.println(f4.delete());
    }
}
  • File的判断功能
package bull1710.File;

import java.io.File;
import java.io.IOException;

/*
 * File的判断功能
 */
public class FileDemo3 {
    public static void main(String[] args) throws IOException {
        //boolean exists();判断文件是否存在,存在返回true,否则false
        File f1 = new File("Fdemo3.txt");
        f1.createNewFile();
        System.out.println(f1.exists());

        //boolean isAbsolute();判断File对象(注意是对象)指向的路径是否是绝对路径,如果是返回true,否则false
        File f2 = new File("f:\\a\\b.txt");
        System.out.println(f2.isAbsolute());

        //boolean isDirectory();判断是否是文件夹
        File f3 = new File("a");
        f3.mkdir();
        System.out.println(f3.isDirectory());

        //boolean idFile();判断是否是文件
        File f4 = new File("b.txt");
        f4.createNewFile();
        System.out.println(f4.isFile());

        //booelan isHidden();判断File指向的路径是否有隐藏属性,如果有则返回true,否则返回false    
        File f5 = new File("f:\\a\\c");
        f5.mkdirs();
        System.out.println(f5.isHidden());
    }
}
  • File的获取和修改功能
package bull1710.File;

import java.io.File;
import java.io.IOException;

/*
 * File的获取和修改功能
 * 获取功能:
 * File getAbsoluteFile()
 * String getAbsolutePath()
 * String getParent()
 * File getParentFile()
 * String getName()
 * String getPath()
 * long lastModified()
 * long length()
 *  修改功能:
 * boolean renameTo(File dest)
 */
public class FileDemo4 {
    public static void main(String[] args) throws IOException {
        //File getAbsoluteFile();返回所创建的File的绝对路径
        File f1 = new File("gAF.txt");
        System.out.println(f1.getAbsoluteFile());

        //String getAbsolutePath();返回所创建的File的绝对路径
        File f2 = new File("gAP.txt");
        System.out.println(f2.getAbsolutePath());

        //String getParent();返回上层文件    
        File f3 = new File("c\\a");
        System.out.println(f3.getParent());

        //File getParentFile();返回上层文件
        File f4 = new File("a\\b\\c");
        f4.mkdirs();
        System.out.println(f4.getParentFile());

        //String getName();获取文件和文件夹的名称
        File f5 = new File("gN.txt");
        System.out.println(f5.getName());

        //String getPath();返回创建对象时给的路径
        File f6 = new File("gP.txt");
        System.out.println(f6.getPath());

        //long lastModified();以毫秒值返回最后修改时间
        File f7 = new File("lM.txt");
        f7.createNewFile();
        System.out.println(f7.lastModified());

        //long length();返回文件的字节数,只能是文件。
        File f8 = new File("length.txt");
        f8.createNewFile();
        System.out.println(f8.length());

        //修改功能:boolean renameTo(File dest);将当前File的路径修改为指定File所指向的路径
        //注意f9对象应该生成一个文件,而f10则只要new一个对象不需要生成文件。
        File f9 = new File("rT.txt");
        f9.createNewFile();
        File f10 = new File("rT1.txt");

        System.out.println(f9.renameTo(f10));
    }
}
  • 返回文件名称
package bull1710.File;

import java.io.File;

/*
 * 
 */
public class FileDemo6 {
    public static void main(String[] args) {
        //String[] list();返回当前路径下所有文件和文件夹名称
        File f1 = new File("a");    
        f1.mkdirs();
        String[] str1 = f1.list();
        for(int x = 0;x < str1.length;x++) {
            System.out.println(str1[x]);
        }

        //File[] listFiles();
        File f2 = new File("F:\\JavaProject\\1.7 Collection and IO\\myList");
        File[] str2 = f2.listFiles();
        for(int x = 0;x < str2.length;x++) {
            System.out.println(str2[x]);
        }

        //static File[] listRoots();返回所有的盘符
        File[] files = File.listRoots();
        for (File file : files) {
            System.out.println(file);
        }
    }
}
  • 案例1
package bull1710.File;

import java.io.File;

/*
 * 需求:输出指定目录下的所有java文件名(包含子目录)
 */
public class FileTest1 {
    public static void main(String[] args) {
        File f = new File("src\\bull1710\\File");
        method(f);
    }

    public static void method(File f) {
        if(f.isDirectory()) {
            File[] files = f.listFiles();
            for (File file : files) {
                if(file.getName().endsWith(".java")) {
                    System.out.println(file.getName());
                }
                //如果file不是文件而是文件夹则继续递归;
                if(file.isDirectory()) {
                    method(file);
                }
            }
        }
    }
}
  • 案例2
package bull1710.File;

import java.io.File;

/*
 * 需求:删除指定目录下的文件。
 *   需要先删除子目录下的文件
 */
public class FileTest2 {
    public static void main(String[] args) {
        File f = new File("f:\\a");
        method(f);
    }
    public static void method(File f) {
        if(f.isDirectory()) {
            File[] f1 = f.listFiles();
            for (File file : f1) {
                //删除文件
                if(file.isFile()) {
                    System.out.println(file.getName());
                    file.delete();
                }
                //如果是文件夹则要继续先删除子文件
                else if(file.isDirectory()) {
                    method(file);
                }
            }
            //删除自己
            System.out.println(f.getName());
            f.delete();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值