Java黑马程序员_File学习

文件方法

image.png

File 使用

第一种方式 String

文件位置:
/Users/a1-6/Downloads

String s = "/Users/a1-6/Downloads/demo1/a.txt";  
File file = new File(s);  
System.out.println(file);

第二种方式 父String+子String

  • 父级路径
    • /Users/a1-6/Downloads/demo1
  • 子级路径
    • a.txt
      image.png
String parent = "/Users/a1-6/Downloads/demo1";  
String child = "a.txt";  
File file1 = new File(parent, child);  
System.out.println(file1);

第三种方式 父File 类+子String 字符串

File file2 = new File("/Users/a1-6/Downloads/demo1");  
File file3 = new File(file2, "a.txt");  
System.out.println(file3);

File 常见的成员方法

image.png
image.png

方法使用

  1. isDirectory:判断是否是文件夹
  2. isFile:判断是否是文件(常用)
  3. exists:判断文件是否存在
//1. 对一个文件的路径进行判断  
File file = new File("/Users/a1-6/Downloads/demo1/a.txt");  
//是否是路径  
System.out.println(file.isDirectory());  
//是否是文件  
System.out.println(file.isFile());  
//是否存在文件  
System.out.println(file.exists());  
  
//2. 对一个文件夹的路径进行判断  
File file1 = new File("/Users/a1-6/Downloads/demo1");  
//是否是路径  
System.out.println(file1.isDirectory());  
//是否是文件  
System.out.println(file1.isFile());  
//是否存在文件  
System.out.println(file1.exists());  
  
//3. 对一个文件夹的路径进行判断  
File file2 = new File("/Users/a1-6/Downloads/demo1/c.txt");  
//是否是路径  
System.out.println(file2.isDirectory());  
//是否是文件  
System.out.println(file2.isFile());  
//是否存在文件  
System.out.println(file2.exists());
  1. length():获取文件的大小,b为单位 /1024 ->mb/1024 gb
  2. getAbsoluteFile:获取文件的绝对路径
  3. getPath:获取文件路径
  4. getName:获取文件姓名
  5. lastModified:上一次修改的时间
File file = new File("/Users/a1-6/Downloads/demo1/a.txt");  
//文本的大小  
System.out.println(file.length());  
//文件的绝对路径  
System.out.println(file.getAbsoluteFile());  
//---  
System.out.println("==========");  
File file1 = new File("Demo/test/a.txt");  
System.out.println(file1.getAbsoluteFile());  
//定义时的路径  
System.out.println("==========");  
System.out.println(file1.getPath());  
  
//获取文件名字(如果是文件夹则输出文件夹名字,如果是文件输出文件的名字)  
System.out.println("=============");  
System.out.println(file1.getName());  
  
//输出上一次修改的时间 如何将毫秒值转换维年月日时分秒  
long l = file.lastModified();  
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");  
Date date = new Date(l);  
String format = sdf.format(date);  
System.out.println(format);  
System.out.println(l);
  1. createNewFile
  2. mkdirs:使用路径创建新的文件夹
  3. delete
  File file = new File("/Users/a1-6/Downloads/demo1/b.txt");  
        //1. 创建如果文件不存在则创建成功,否则失败  
        //2. 如果父级不存在 则在里面创建会失败  
        boolean newFile = file.createNewFile();  
        System.out.println(newFile);  
        //3. 如果直接创建一个不存在的文件,则会成功 但是无后缀  
  
        File file1 = new File("/Users/a1-6/Downloads/demo1/demo2");  
        System.out.println(file1.createNewFile());  
//  
//        // 创建一个文件夹  
//        //1. 细节:路径是唯一的,如果存在 则会创建失败  
//        //2. mkdir只能创建单级文件夹,无法创建多级文件夹  
//        File file2 = new File("/Users/a1-6/Downloads/demo1/demo11");  
//        System.out.println(file2.mkdir());  
//        //使用 mkdirs 可以 创建多级文件夹  
//        File file3 = new File("/Users/a1-6/Downloads/demo1/demo11/demo1111/dem1/dem/de/m");  
//        System.out.println(file3.mkdirs());  
        //删除文件 不会走回收站  
        File file4 = new File("/Users/a1-6/Downloads/demo1/b.txt");  
        System.out.println(file4.delete());  
  
        //删除文件夹 如果是空文件夹则直接删除,如果不是空则删除失败  
        File file3 = new File("/Users/a1-6/Downloads/demo1/demo11/demo1111/dem1/dem/de/m");
  1. list
  2. listFiles 列出当下所有文件,可以进行筛选
   public static void main(String[] args) {  
//        //当下的所有盘符  
//        File[] files = File.listRoots();  
//        System.out.println(Arrays.toString(files));  
//        //查看文件夹内所有文件  
//        File file = new File("/Users/a1-6/Downloads/demo1");  
//        String[] list = file.list();  
//        for (String s : list) {  
//            System.out.println(s);  
//        }  
        //list        File file1 = new File("/Users/a1-6/Downloads/demo1");  
        String[] list = file1.list(new FilenameFilter() {  
            @Override  
            public boolean accept(File dir, String name) {  
                File file = new File(dir, name);  
                if(file.isFile() && name.endsWith(".txt")){  
                    return true;  
                }else return false;  
            }  
        });  
        System.out.println(Arrays.toString(list));  
  
  
        //listFiles  
  
        File file = new File("/Users/a1-6/Downloads/demo1");  
        File[] files = file.listFiles();  
        for (File f : files) {  
            if(f.isFile() && f.getName().endsWith(".txt"))  
                System.out.println(f.getName());  
        }  
    }
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值