IOUtil

简介: 简介: 本文介绍了Java中常见的文件操作方法,包括读取文件全部内容、向文件追加数据及递归遍历目录下所有文件。强调所有IO操作必须在finally块中手动关闭流,以避免资源泄漏。使用FileReader、FileOutputStream、BufferedWriter等类实现高效读写,通过递归算法遍历文件夹结构,适用于文件批量处理场景。(237字)

注意:所有IO操作均需在finally中手动关闭
1.读取指定文件内全部内容
String path = File.separator + "app" + File.separator + "test.txt";
File file = new File(path);
reader = new FileReader(file);
char[] bb = new char[1024];
StringBuffer allUploadFilePath = new StringBuffer();
// 每次读取到的字符长度
int n;
while ((n = reader.read(bb)) != -1) {
allUploadFilePath.append(new String(bb, 0, n));
}
2.追加内容到指定文件
FileOutputStream fileOutputStream = null;
OutputStreamWriter outputStreamWriter = null;
BufferedWriter bufferedWriter = null;
File file = new File("D:/test.txt");
fileOutputStream = new FileOutputStream(file, true);
outputStreamWriter = new OutputStreamWriter(fileOutputStream);
bufferedWriter = new BufferedWriter(outputStreamWriter);
for (String conent : allFilePath) {
bufferedWriter.write("," + conent);
}
3.递归某目录下全部文件
/**

  • 获取路径下的所有文件/文件夹
  • @param directoryPath 目标路径(父级,
  • 如遍历:
  • 文件夹1
  • 文件1
  • 文件夹2
  • 文件2
  • 则写文件夹1全路径即可
    )
  • @param list 返回路径的集合
    */
    public static void readfile(String directoryPath, List list) {
    File file = new File(directoryPath);
    if (!file.isDirectory()) {
    list.add(file.getAbsolutePath());
    
    } else if (file.isDirectory()) {
    String[] filelist = file.list();
    for (int i = 0; i < filelist.length; i++) {
        File readfile = new File(directoryPath + File.separator + filelist[i]);
        if (!readfile.isDirectory()) {
            list.add(readfile.getAbsolutePath());
        } else if (readfile.isDirectory()) {
            readfile(readfile.getAbsolutePath(), list);
        }
    }
    
    }
    }
目录
相关文章
|
2天前
|
敏捷开发 Dubbo Java
微服务技术栈
本文介绍敏捷开发中需求人日评估方法,涵盖开发、自测、联调、测试及发布各阶段周期估算,并提供常见功能如增删改查、导入导出、远程调用等参考人日,助力团队科学排期。
35 15
|
1天前
HUTOOL-Word生成-Word07Writer
Hutool封装POI实现Word文档生成,提供Word07Writer类便捷创建docx文件。支持自定义字体、段落内容,适用于简单文档导出。需引入hutool-all与poi-ooxml依赖。
2 0
|
1天前
|
Apache
Excel工具-HUTOOL-读取Excel
基于Hutool和Apache POI,封装Excel读取工具,支持读取为List、Map或Bean;提供SAX模式高效解析大文件,避免内存溢出,适用于Excel 2003/2007格式,支持按行处理数据。
7 0
|
1天前
|
Java 大数据 Apache
Excel工具-HUTOOL-输出Excel
基于Hutool与Apache POI,封装Excel写入功能,提供ExcelWriter和BigExcelWriter,支持List、Map、Bean等数据类型导出,可自定义样式、多Sheet操作,并避免内存溢出,适用于高效生成Excel文件及Web下载场景。
7 0
|
1天前
|
Java
Excel读取并数据List/Map-POI
该工具类基于POI解析.xls格式Excel,通过反射将每行数据映射为Java对象,支持日期、数字等类型处理,可全局输出Map或List,适用于固定模板的数据导入场景,需确保列数与VO字段一致。
4 0
|
1天前
|
Java
common-lang3
避免三目运算符引发的Java自动拆装箱异常,推荐使用ObjectUtils.defaultIfNull替代,确保基本类型与包装类兼容,提升代码安全性与可读性。
3 0
|
1天前
|
存储 安全 Java
StringUtil
Java中字符串变量最大长度为Integer.MAX_VALUE,但字符串字面量受限于class文件格式,最大仅65534。超长字符串无法直接作为字面量使用,需通过StringBuilder分段处理,避免编译错误,实现安全拼接与传输。
5 0
|
1天前
|
XML JSON fastjson
JSONUtil
提供常用数据结构与JSON互转工具方法,涵盖数组、对象、Map、List、XML等类型转换,使用Hutool、Fastjson及JSON-lib实现,简洁高效,便于Java开发中处理JSON数据。
7 0
|
1天前
|
存储 Java
超长String接收处理
Java中字符串变量最大长度可达Integer.MAX_VALUE,但字符串字面量受class文件格式限制,理论最大65535,实际仅支持65534。超出将编译失败。对于超长字符串,需通过StringBuilder分组拼接处理,避免常量池溢出。
5 0
|
1天前
|
Java
调用exe/bat并传参
Java使用ProcessBuilder执行test.bat时提示“系统找不到指定文件”。需确保文件路径正确且.bat可执行。建议改用Runtime.getRuntime().exec(command)方式,拼接完整命令,确保环境变量和工作目录设置正确,避免路径解析问题。
2 0