当前位置: 首页 > news >正文

java无法写入到系统盘下文件

这个错误的核心是程序没有权限在 D 盘根目录创建或写入 test01.html 文件,Windows 系统默认对根目录(如 D:\)有严格的写入权限控制,普通程序(包括 IDEA)通常无法直接操作。
解决方案:修改文件保存路径或获取权限
推荐优先选择 “修改保存路径”(更简单安全),避免直接操作系统根目录。
方案 1:将文件保存到非根目录(推荐)
把文件保存到 D 盘下的具体文件夹(如 D:\test\ 或项目目录),这些目录默认权限更宽松。修改代码中的文件路径即可:
java
运行
// 原错误路径:D盘根目录(权限不足)
// FileOutputStream fileOutputStream = new FileOutputStream(new File(“d:/test01.html”),true);

// 修改后路径1:D盘下新建test文件夹(需先手动创建test文件夹,或代码中自动创建)
File targetFile = new File(“d:/test/test01.html”);
// 自动创建父文件夹(如果d:/test不存在)
if (!targetFile.getParentFile().exists()) {
targetFile.getParentFile().mkdirs(); // mkdirs()创建多级目录,mkdir()只能创建一级
}
// 写入文件
FileOutputStream fileOutputStream = new FileOutputStream(targetFile, true);
方案 2:保存到项目目录(更推荐,路径更灵活)
将文件保存到项目的target目录或自定义目录,避免依赖系统盘路径,团队协作更方便:
java
运行
// 保存到项目的target/output目录(无需手动创建,代码自动生成)
// 获取项目target目录的绝对路径(通过当前类的路径推导)
String projectTargetPath = TestFreeMarker.class.getResource(“/”).getPath();
// 拼接输出文件路径:target/output/test01.html
File targetFile = new File(projectTargetPath + “/output/test01.html”);
// 自动创建父文件夹
if (!targetFile.getParentFile().exists()) {
targetFile.getParentFile().mkdirs();
}
// 写入文件
FileOutputStream fileOutputStream = new FileOutputStream(targetFile, true);
方案 3:以管理员身份运行 IDEA(不推荐,仅应急)
如果必须保存到 D 盘根目录,可以通过提升权限解决,但不推荐日常使用(可能带来安全风险):
关闭当前 IDEA。
右键点击 IDEA 图标,选择 “以管理员身份运行”。
重新打开项目并执行代码,此时程序拥有 D 盘根目录的写入权限。
关键注意点
路径分隔符:Windows 系统中路径可以用/或\(代码中需写\\转义),推荐用File.separator自动适配系统(跨平台更友好):
java
运行
// 跨平台路径示例:d:/test/test01.html(Windows)或 /home/test/test01.html(Linux)
File targetFile = new File(“d:” + File.separator + “test” + File.separator + “test01.html”);
IO 流关闭:使用IOUtils.copy后,需手动关闭流或用try-with-resources自动关闭,避免资源泄漏:
java
运行
// try-with-resources自动关闭流(推荐写法)
try (InputStream inputStream = IOUtils.toInputStream(content);
FileOutputStream fileOutputStream = new FileOutputStream(targetFile, true)) {
IOUtils.copy(inputStream, fileOutputStream);
} catch (IOException e) {
e.printStackTrace();
}
要不要我帮你整理一份完整的 IO 流写入代码模板,包含路径自动创建、跨平台适配和流自动关闭的功能?

http://www.dtcms.com/a/491670.html

相关文章:

  • java中final关键字的含义
  • wordpress封采集站ip微信营销平台有哪些
  • Golang相关知识总结
  • LeetCode算法日记 - Day 73: 最小路径和、地下城游戏
  • 设计案例网站网站自身seo优化怎么做
  • 手绘风格制图新选择:Excalidraw+cpolar让视觉化工作流无缝协作
  • apt 安装任意软件产生 `libc6:amd64 package post-installation` 异常问题
  • Product Hunt 每日热榜 | 2025-10-16
  • 2025最新如何申请Google Translate API免费版图文教程
  • 提供常州微信网站建设单页企业网站模板
  • 证件阅读机在酒店与旅游业场景的应用
  • 深圳分销网站设计费用常平镇网站建设公司
  • 华为 FreeBuds SE4 ANC 如何手势调节音量?
  • Git怎么管理软件版本(代码,模型,配置等)
  • 翁虹庆爱女刘莳18岁生日 中式成人礼传承华夏底蕴
  • 苏州seo建站微信网站多少钱
  • Process Monitor 学习笔记(5.9):Procmon 的自动化操作——命令行选项
  • 荣耀手机Magic8系列都有哪些,分别通过硬件参数、性能参数、价格等方面进行详细对比
  • 合肥网站开发培训学校网站怎么做图片按按钮跳转
  • 西安专业做网站建设电子商务网站建设期中
  • 生态文明建设网站中城投建设集团网站
  • C++--- override 关键字 强制编译器验证当前函数是否重写基类的虚函数
  • LLM对话框项目技术栈重难点总结
  • 常州企业网站建设价格湛江宇锋网站建设
  • 网站开发实用吗搞钱路子一天两万
  • Ubuntu Server 系统安装图形界面远程工具(RDP)
  • 新版电脑微信4.1.x.x小程序逆向之——寻找小程序存放位置目录和__APP__.wxapkg
  • 我在高职教STM32(新05)——呼吸灯实验(基础版)
  • 丽泽桥网站建设wordpress分类列表去掉分类目录
  • 网站开发创业计划书模板宝安中心医院是什么级别