java - 如何摆脱 - “java.io.IOException:系统找不到指定的路径”
问题描述
我正在尝试创建一个文件并写入它,但我的路径出现错误。这是我的代码:
@Value("${base.location}")
private String folderName;
if (StringUtils.isBlank(dateFileName)) {
setdateFileName(new StringBuilder().append("MY_FILE")
.append(".txt").toString());
}
dateFile = new File(
new StringBuilder().append(folderName).append(File.separator).append(dateFileName).toString());
if (!dateFile.exists()) {
try {
dateFile.mkdir();
dateFile.createNewFile(); //error
}
解决方案
您不能在同一路径位置拥有同名的文件夹和文件。
这就是此代码失败的原因:
dateFile.mkdir();
dateFile.createNewFile();
在这里,您首先创建一个文件夹,然后尝试创建一个具有相同路径名的文件。您需要为文件选择不同的名称。
我猜你可能打算这样做:
dateFile.getParentFile().mkdirs();
dateFile.createNewFile();
即创建文件的父文件夹(根据需要包括其所有父文件夹),然后在其中创建文件。
推荐阅读
- c# - Asp.Net Core Razor Page PUT Handler 模型绑定器未绑定来自 ajax put 上的 java 脚本的序列化表单
- reactjs - Formik & ReduxORM & Yup - validationSchema 问题
- python - 如何将一个 django 模型连接到许多其他模型?
- c# - 反向地理位置未返回正确的国家/地区名称
- azure - 我可以将 Elmah 错误详细信息发送到 ApplicationInsights 吗?
- java - java lwjgl GLSL着色器问题与mac osx验证失败:没有顶点数组对象绑定
- angular - 带有ngx-codemirror的角度8
- javascript - x 没有为 id = "0" 定义 - C3.js 堆积条形图
- python - Python 多处理没有使用完整的 cpu 内核
- c++ - 如何从 shared_ptr 的引用中提取数据