代码编织梦想

报错信息

如题, cn.hutool.core.io.IORuntimeException: Not a file....

报错位置

FileReader reader = new FileReader(path);

初步分析

检查下来发现,path实际对应的是一个文件夹,而不是文件。

文件来源关键代码(FileUtil、FileWriter都是出自hutool工具包)

FileUtil.mkdir(new File(...));
FileWriter writer = new FileWriter(".....json");
writer.write(str);

结合官方文档

0a71e637c302115d5357e976c3007f0c.png
此方法不对File对象类型做判断,如果File不存在,无法判断其类型

个人看法,这句话可以理解成,mkdir方法返回的,有可能是文件,也有可能是文件夹。

目前,笔者在三台电脑上跑过这段代码,一台window台式机A,两台linux服务器B和C。

其中,一开始在A和B上跑时,创建出来的都是文件,但之后在C上跑创建出来的却是文件夹。

总结

工具虽好用,自己也得多注意思考。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_24302849/article/details/129630753

vert.x 3学习笔记---01-爱代码爱编程

Vert.x 3 core: Vert.x core主要提供了一下功能: Writing TCP clients and servers(TCP 客户端和服务端)Writing HTTP clients and serv

vert.x 3学习笔记---07-爱代码爱编程

Writing HTTP servers and clients 上一章介绍了 tcp服务端和客户端,本章介绍怎么使用vertx创建无阻塞的http服务端和客户端。 Creating an HTTP Server 使用

vert.x 3学习笔记---14( web篇 )-爱代码爱编程

之前的文章介绍的vertx-core的内容。我们可以看到core中的东西就像是一个异步的工具集。我们可以在这个工具集的基础上面进行很多的操作。比如:异步的文件操作、异步的socket等等。有一些操作,我们可以看着是‘很底层的

大数据开发中遇到的错误 java.lang.runtimeexception: java.io.ioexception: invalid constant type: 18_小乔的博客-爱代码爱编程

版本打包时竟然遇到这种错误 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.RuntimeException: jav

java.util.concurrent包之 linkedblockingqueue 阻塞队列 学习笔记_jc. lin的博客-爱代码爱编程

LinkedBlockingQueue 类图 LinkedBlockingQueue 中也有两个 Node 分别用来存放首尾节点,并且里面有个初始值为 0 的原子变量 count 用来记录队列元素个数,另外里面有两个 ReentrantLock 的独占锁,分别用来控制元素入队和出队加锁,其中 takeLock 用来控制同时只有一个线程可以从队列获取元素,

3-Alibaba-Seata(事务测试)学习笔记2020.10.28-爱代码爱编程

3-Alibaba-Seata(事务测试)学习笔记2020.10.28 前言: 前面, 已经将工程搭建完成, 下面进行项目的分布式事务测试, 看看结果是怎么样? 根据业务流程进行调用: 下订单 - 减库存 - 扣余额 1.0 进行测试 1.1.1 数据库造数据 为了测试方便直接在数据库中的库存与账户表里面造一条数据。 顺便

java.lang.exception_java.lang.exception-爱代码爱编程

Uncaught exception java/lang/NullPointerException.错误原因 Uncaughtexceptionjava/lang/NullPointerException.异常原因Uncaughtexceptionjava/lang/NullPointerException.这个异常我实在不清楚是什么原因,有哪位愿意

linux删除 .nfs00文件,linux中.nfsxxxx引起的文件无法删除-爱代码爱编程

一个linux系统中的某个文件夹无法删除,使用ls -al查看有1个.nfsxxxx的文件无法删除。 使用lsof +D /filepath/,查看到文件被一个进程一直占用。 再使用ps -aux | grep pid,查看是一个java进程一直在占用,杀掉这个进程后,文件夹正常删除。 What is this .nfsxxxxxxxxxxxxx

HuTool工具超详细笔记-爱代码爱编程

HuTool工具超详细笔记       HuTool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,它涵盖了Java开发底层代码中的方方面面; 文章目录 HuTool工具超详细笔记1、Hutool官网HuTool提供了以下组件2、HuTool环境的搭建3、HuTool的使用3.1、类型转换工具

SpringWebFlux-4(webflux配置、请求客户端学习笔记2021.11.10)-爱代码爱编程

SpringWebFlux -4(5.3.12版学习笔记2021.11.10) 1.11. WebFlux 配置 与 Spring MVC 中的相同 WebFlux Java 配置声明使用带 Comments 的控制器或功能端点来声明处理请求所必需的组件,并且它提供了用于自定义配置的 API。这意味着您不需要了解 Java 配置创建的底层 b