千家信息网

docker中java如何应用new FileOutputStream直接报Input/output error

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍docker中java如何应用new FileOutputStream直接报Input/output error,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一
千家信息网最后更新 2026年11月02日docker中java如何应用new FileOutputStream直接报Input/output error

这篇文章给大家介绍docker中java如何应用new FileOutputStream直接报Input/output error,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一个docker容器中跑着java应用,是一个定时任务,每天拉取远端文件包存到本机,命名为:decrypt-20181020

就在这一天,任务失败,java提示异常: java.io.FileNotFoundException: /tmp/decrypt-20181020 Input/output error

Cause by: ... com.pollyduan.job.GetFileService:54

找到对应行的代码:

FileOutputStream out = new FileOutputStream(targetFile);
  • 一般情况下,new 一个 OutputStream 是无论如何不应该报错的,毕竟还没有开始任何读取或写入操作。

很怪异,前一天和后一天都正常。

在 bash中进入tmp目录:

touch decrypt-20181020touch: cannot touch `decrypt-20181020': Input/output error
  • 其他文件名没问题

  • 硬盘空间充足

查看设备故障诊断日志:

# dmesg...[72458282.116220] EXT4-fs error (device dm-6): htree_dirblock_to_tree:914: inode #2097766: block 8397500: comm bash: bad entry in directory: rec_len is smaller than minimal - offset=0(335872), inode=0, rec_len=0, name_len=0

搜索到Stack Overflow,看到有说重启可解决。由于业务在跑着,没有尝试,回头试过再更新。

目前,修改临时文件名暂时解决。

关于docker中java如何应用new FileOutputStream直接报Input/output error就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

应用 文件 任务 内容 文件名 更多 帮助 不错 充足 怪异 无论如何 业务 代码 兴趣 容器 小伙 小伙伴 情况 故障 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 上海睿民互联网科技有限公司 科技和互联网公司 深圳互联网科技公司 为想互联网科技 互联网科技logo设计 奔汉互联网科技 上海卓越科技 互联网 银川新华互联网科技学校地址 昭通互联网科技选哪家 烟台灵鸽互联网科技有限公司 银行科技岗属于互联网吗 广州千川互联网科技有限公司 图游互联网科技 广州有谷有贝互联网科技有限公司 萌小萌互联网科技河南有限公司 互联网科技手机排行榜 保山浩联互联网科技有限公司 东风日产互联网科技公司叫什么 互联网科技自媒体灵感 互联网科技公司经营范围 汇久创客互联网科技 互联网科技大会案例 玖二柒互联网科技公司待遇 互联网之后的科技是什么 昭通云南众福互联网科技有限公司 浙江互联网科技研学营 互联网在线教育科技创业 湖北辰鑫科技互联网 科技互联网企业在行动
0