本篇文章对日常开发中常用的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

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

被折叠的 条评论
为什么被折叠?



