一文教你学会 Java常用业务代码——(IO篇)

本文详细梳理了Java开发中常见的IO操作,包括文件与目录的判断、创建、删除及属性获取。重点讲解了如何通过文件头判断文件类型,以提高安全性,同时介绍了字节流和字符流的读写操作,以及对象的序列化与反序列化技巧。此外,还探讨了如何使用Graphics2D和ImageIO给图片添加水印。

本篇文章对日常开发中常用的Java IO场景进行整理,涉及功能有:判断目录/文件、创建目录/文件、获取文件属性、通过文件头判断文件是否为Excel、字节流/字符流读取文件、字节流/字符流写入文件、对象序列化反序列化、图片增加水印。

File

Java中File类提供了一系列方法让开发人员对于目录文件进行操作,通常是对目录文件增删:

  • 判断File是文件还是目录

    //===判断File是文件还是目录,目录则递归遍历
    public static void isDir(File file) {
        if (file.isDirectory()) {
            Arrays.asList(file.listFiles()).forEach(file1 -> isDir(file1));
        } else {
            System.out.println("文件:" + file.getName() + ",上级目录:" + file.getParent());
        }
    }
  • 创建目录或者文件

    //===创建 目录文件
    public static void createFile(File file) throws IOException {
        if (!file.exists()) {
            if (file.isDirectory()) {
                //创建多级目录
                file.mkdirs();
            } else {
                //判断父目录是否存在
                if (!file.getParentFile().exists()) {
                    file.getParentFile().mkdirs();
                }
                //创建新文件
                file.createNewFile();
            }
        }
    }
  • 删除 目录或者文件

    //===删除 目录/文件
    public static void deleteFile(File file) {
        //删除目录必须保证目录下没有文件,否则删除失败,可通过file.listFiles()删除
        boolean res = file.delete();
        System.out.println("删除结果:" + res);
    }
  • 获取文件属性

    //===获取文件属性
    public static void getAttar(File file) throws IOException {
        System.out.println("文件大小:" + file.length());
        System.out.println("文件修改时间:" + new Date(file.lastModified()));
    }

I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值