IOUtil

简介: 111

注意:所有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<String> 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);
            }
        }
    }
}
相关文章
|
机器学习/深度学习 算法 搜索推荐
精确率(Precision)和召回率(Recall)
精确率(Precision)和召回率(Recall)是用于评估分类模型性能的指标。它们通常用于二分类问题,例如判断一个样本是正例(Positive)还是负例(Negative)。
8548 0
|
2月前
|
存储 人工智能 API
读懂AI Agent 构建逻辑:基础认知、技术栈、模块设计、实战示例与常见风险规避.149
AI Agent是具备感知、规划、工具调用、记忆与反思能力的自主智能体,区别于被动响应的大模型,能主动执行多步复杂任务。本文系统讲解其核心概念、五大能力、技能体系、执行流程、实践案例及常见问题,附完整学习路径。
389 5
|
7月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器2核4G配置租用价格参考:u2a实例504.60元起,u1实例199元起,轻量应用服务器714元起
阿里云2核4G配置提供多类型服务器选择:轻量应用服务器714元/年,适配中小型网站快速搭建;通用算力型u1实例199元/年起,适合企业级应用;u2a实例504.6元/年起,性价比突出,支持企业通用场景;经济型e实例599.93元/年起,适合开发测试;计算型c9i实例1742元/年起,支撑高性能计算。
1692 8
|
10月前
|
移动开发 算法 5G
面向高多普勒衰落信道的 OTFS 调制技术
正交时频空(OTFS)调制通过延迟-多普勒域传输,将高多普勒信道转化为准静态环境,显著提升高速移动下的通信鲁棒性。本文研究其信号检测与信道估计,提出低复杂度MCMC检测算法和基于PN导频的稀疏信道估计算法,验证了OTFS在高速场景下的优异性能。
909 0
面向高多普勒衰落信道的 OTFS 调制技术
|
消息中间件 缓存 监控
电商API接口功能全景图:商品、订单、支付、物流如何无缝衔接?
在数字化商业中,API已成为电商核心神经系统。本文详解商品、订单、支付与物流四大模块的API功能,探讨其如何协同构建高效电商闭环,并展望未来技术趋势。
|
9月前
|
Linux 网络安全 数据安全/隐私保护
【全网最全最详细】Linux下私服Nexus安装教程
本文介绍Nexus私服的安装与配置步骤:下载解压包、创建专用用户、禁止root启动、配置权限、启动服务并开放防火墙端口,最后通过浏览器访问管理界面并获取初始密码完成初始化设置。
570 0
|
8月前
|
SQL 监控 机器人
|
8月前
|
数据可视化 Java 关系型数据库
相关与自相关
【8月更文挑战第23天】
890 0
|
JavaScript
Vue3中的ref如何使用?v-for中如何使用?
前言 虽然在 Vue 中不提倡我们直接操作 DOM,毕竟 Vue 的理念是以数据驱动视图。但是在实际情况中,我们有很多需求都是需要直接操作 DOM 节点的,这个时候 Vue 提供了一种方式让我们可以获取 DOM 节点:ref 属性。ref 属性是 Vue2 和 Vue3 中都有的,但是使用方式却不大一样,这也导致了很多从 Vue2 转到 Vue3 的小伙伴感到有些困惑。 今天我们就来揭开 Vue3 中 ref 的神秘面纱!
3123 0
Vue3中的ref如何使用?v-for中如何使用?

热门文章

最新文章