黑马程序员——JAVA基础------IO流(一)----File类

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——

一、概述

• File类:表示文件和目录路径名的抽象表示形式。
• File类可以实现文件的创建、删除、重命名、得到路径、创建时间等等,是唯一与文 件本身有关的操作类。
• File类的定义:
• public class File
• extends Object
• implements Serializable, Comparable<File>

这里写图片描述

这里写图片描述

代码演示:

package com.joe.file;

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

/**
 * File类的使用
 * @author joe
 *
 */
public class FileDemo {

    public static void main(String[] args) {
        //File.separator 表示分隔符
        //D:\\lamp
        File file1 = new File("D:"+File.separator+"lamp"+File.separator+"lamp.txt");
        //路径分隔符
//      String s  = File.pathSeparator;
        //文件是否存在
        if(!file1.exists()){
            try {
                //创建一个新文件
                boolean b = file1.createNewFile();
                System.out.println("创建文件:"+b);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        //删除文件
        //System.out.println(file1.delete());
        //得到文件的上一级路径
        System.out.println(file1.getParent());
        //判断一个路径是否是文件夹
        System.out.println("是否是目录:"+file1.isDirectory());
        判断一个路径是否是文件
        System.out.println("是否是文件:"+file1.isFile());


        File file2 = new File("d:\\vince");
        //列出文件夹中的所有文件名
        String[] fileName = file2.list();
        for (String s : fileName) {
            System.out.println(s);
        }

        //列出文件夹中的所有文件,以File数组返回
        File[] files = file2.listFiles();
        for (File file : files) {
            System.out.println(file.getPath()+"---"+file.length());
        }

        //创建文件夹
        File file3 = new File("d:\\xiaobai\\baibai");
        file3.mkdirs();
        //重命名
        File file4 = new File("d:\\xiaobai\\xiaobaibai");
        file3.renameTo(file4);
    }
}

练习:

package com.joe.file;

import java.io.File;

/**
 * 文件搜索 任意给定一个目录,从该目录中(包括子目录)查找出所有后缀txt的文 件,并打印出来
 * 
 * @author joe
 *
 */
public class fileDemo {

    // 使用递归算法实现文件查找功能
    public static void findFile(File file, String extName) {
        if (file == null) {
            return;
        }
        // 如果是目录,那么获取该目录下的所有文件的File对象
        if (file.isDirectory()) {
            File[] fs = file.listFiles();
            // 判断fs是否为空文件夹
            if (fs != null) {
                for (File f : fs) {
                    // 遍历后使用递归调用
                    findFile(f, extName);
                }
            }
        }// 当File是一个文件时,那么我们就进行判断扩展名是否为指定的扩展名
        else {
            // 将文件的路径名全部变为小写
            String path = file.getPath().toLowerCase();
            // 判断后缀是否为".jpg"
            if (path.endsWith(extName)) {
                System.out.println(file.getPath());
            }
        }

    }

    public static void main(String[] args) {
        File file = new File("d:\\vince");
        String extName = ".jpg";
        findFile(file, extName);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值