news 2026/2/18 19:51:51

Commons-io工具包与Hutool工具包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Commons-io工具包与Hutool工具包

Commons-io

Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包

作用:提高I0流的开发效率。

FileUtils类(文件/文件夹相关)
static void copyFile(File srcFile,File destFile) 复制文件
static void copyDirectory(File srcDir,File destDir) 复制文件夹
static void copyDirectoryToDirectory(File srcDir, File destDir) 复制文件夹
static void deleteDirectory(File directory) 删除文件夹
static void cleanDirectory(File directory) 清空文件夹
static String readFileToString(File file, Charset encoding) 读取文件中的数据变成成字符串
static void write(File file, CharSequence data, String encoding) 写出数据

I0Utils类(流相关相关)
public static int copy(InputStream input, OutputStream output) 复制文件
public static int copyLarge(Reader input, Writer output) 复制大文件
public static String readLines(Reader input) 读取数据
public static void write(String data, OutputStream output) 写出数据

static void copyFile(File srcFile,File destFile) 复制文件

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("..\\Myio\\a.txt");
File dest=new File("..\\Myio\\copy.txt");
FileUtils.copyFile(src,dest);
}
}

static void copyDirectory(File srcDir,File destDir) 复制文件夹

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("E:\\111");
File dest=new File("E:\\222");
FileUtils.copyDirectory(src,dest);
}
}

static void copyDirectoryToDirectory(File srcDir, File destDir) 复制文件夹

这与上面的那个有什么区别呢?

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("E:\\111");
File dest=new File("E:\\222");
FileUtils.copyToDirectory(src,dest);
}
}

直接将数据源的拷贝进了目的地文件夹的里面

static void deleteDirectory(File directory) 删除文件夹

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("E:\\222");
FileUtils.deleteDirectory(src);
}
}

直接将文件删除

static void cleanDirectory(File directory) 清空文件夹

package commonsio;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CommonsIODemo1 {
public static void main(String[] args) throws IOException {
File src=new File("E:\\111");
FileUtils.cleanDirectory(src);
}
}

这是将文件夹中的内容清空

Hutool

相关类
IoUtil 流操作工具类
FileUtil 文件读写和操作的工具类
FileTypeUtil 文件类型判断工具类
WatchMonitor 目录、文件监听
ClassPathResource 针对ClassPath中资源的访问封装
FileReader 封装文件读取
Filewriter 封装文件写入

FileUtil 文件读写和操作的工具类

file:根据参数创建一个file对象
touch:根据参数创建文件
writeLines:把集合中的数据写出到文件中,覆盖模式。
appendLines:把集合中的数据写出到文件中,续写模式
readLines:指定字符编码,把文件中的数据,读到集合中。
readUtf8Lines:按照UTF-8的形式,把文件中的数据,读到集合中
copy:拷贝文件或者文件夹

file:根据参数创建一个file对象

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
public class HutoolDemo1 {
public static void main(String[] args) {
File file = FileUtil.file("E:\\", "aaa", "bbb", "a.txt");
System.out.println(file);
}
}

touch:根据参数创建文件

如果没有父级路径,他会帮你把父级路径一起创建

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
public class HutoolDemo1 {
public static void main(String[] args) {
File file = FileUtil.file("E:\\", "aaa", "bbb", "a.txt");
System.out.println(file);
File touch = FileUtil.touch(file);
System.out.println(touch);
}
}

writeLines:把集合中的数据写出到文件中,覆盖盖式。

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
import java.util.ArrayList;
public class HutoolDemo1 {
public static void main(String[] args) {
ArrayList<String>list=new ArrayList<>();
list.add("aaa");
list.add("aaa");
list.add("aaa");
File file = FileUtil.writeLines(list, "E:\\a.txt","UTF-8");
System.out.println(file);
}
}

追加模式默认是关闭的

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
import java.util.ArrayList;
public class HutoolDemo1 {
public static void main(String[] args) {
ArrayList<String>list=new ArrayList<>();
list.add("aaa");
list.add("aaa");
list.add("aaa");
File file = FileUtil.writeLines(list, "E:\\a.txt","UTF-8", true);
System.out.println(file);
}
}

appendLines:把集合中的数据写出到文件中,续写式

package hutool;
import cn.hutool.core.io.FileUtil;
import java.io.File;
import java.util.ArrayList;
public class HutoolDemo1 {
public static void main(String[] args) {
ArrayList<String>list = new ArrayList<>();
list.add("aaa");
list.add("aaa");
list.add("aaa");
File file = FileUtil.appendLines(list,"E:\\a.txt","UTF-8");
System.out.println(file);
}
}

readLines:指定字符编码,把文件中的数据,读到集合中。

package hutool;
import cn.hutool.core.io.FileUtil;
import java.util.List;
public class HutoolDemo1 {
public static void main(String[] args) {
List<String> strings = FileUtil.readLines("E:\\a.txt", "UTF-8");
System.out.println(strings);
}
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/16 0:39:41

COMSOL氩气等离子体显示板模型(PDP)探索

&#xff3b;COMSOL氩气等离子体显示板模型&#xff08;pdp&#xff09;&#xff3d;&#xff0c;与Journal of applied physics文献基本一致&#xff0c;有需要的可以拿去参考。嘿&#xff0c;大家好&#xff01;今天来聊聊 COMSOL 里的氩气等离子体显示板模型&#xff08;PDP…

作者头像 李华
网站建设 2026/2/17 17:53:24

当大模型成为生产力,知识付费行业如何迎接价值兑现时代?

近日&#xff0c;智谱AI作为全球大模型第一股在港交所上市的消息引发行业热议。这一标志性事件不仅代表着技术概念的成熟&#xff0c;更意味着AI正从实验室走向产业应用&#xff0c;从技术探索走向价值兑现。对于知识付费与在线教育行业而言&#xff0c;这背后隐藏着怎样的机遇…

作者头像 李华
网站建设 2026/2/16 1:57:10

当AI成为标准配置,知识服务者如何构建新竞争力?

智谱AI的上市不仅是一家企业的里程碑&#xff0c;更是整个AI产业从技术探索走向商业成熟的分水岭。对于知识付费与在线教育行业而言&#xff0c;这意味着AI技术已从“可选配件”转变为“标准配置”。在这样的背景下&#xff0c;教育从业者应当如何重新思考自身的核心竞争力&…

作者头像 李华
网站建设 2026/2/12 12:57:17

【25年美赛C题】Olympic Multi-dimensional Predictive Integrator

#2500759 文章目录技术路线我不太懂的几个问题与解答1. LSTM怎么用于获取时间趋势信息&#xff0c;输入和输出是什么2. Bootstrap3. Wlicoxon符号秩检验怎么用于确定零突破4. SHapley Additive exPlanations (SHAP)5. Difference-in-Differences (DID) model技术路线 问题1&am…

作者头像 李华
网站建设 2026/2/16 17:13:42

家电业AI营销榜单:原圈科技如何领跑2026年?

原圈科技在AI营销领域,凭借其全链路一体化智慧营销平台,被普遍视为家电零售业的理想选择。该平台整合了深度洞察、AIGC内容、智能交互与转化能力,在多个维度下表现突出,为企业提供从洞察到转化的完整解决方案。引言:风口浪尖上的家电零售业时间来到2026年,家电零售业早已不是蓝…

作者头像 李华