英文:
How to get rid of - "java.io.IOException: The system cannot find the path specified"
问题
我正在尝试创建一个文件并向其中写入内容,但是在我的路径中遇到了错误。
以下是我的代码:
@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
}
如果您需要进一步帮助,请随时提问。
英文:
I am trying to create a file and write to it, but I'm getting error in my path.
Here is my code:
@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
}
答案1
得分: 1
在相同路径位置不能同时拥有同名文件夹和文件。
这就是为什么这段代码失败:
dateFile.mkdir();
dateFile.createNewFile();
在这里,你首先创建了一个文件夹,然后尝试创建一个具有相同路径名称的文件。你需要为文件选择一个不同的名称。
我猜你可能本来想要以下操作:
dateFile.getParentFile().mkdirs();
dateFile.createNewFile();
即创建文件的父文件夹(包括所有必要的父级文件夹),然后在其中创建文件。
英文:
You can’t have a folder and a file with the same name in the same path location.
That’s why this code fails:
dateFile.mkdir();
dateFile.createNewFile();
Here you’re first creating a folder, and then you’re attempting to create a file with the same path name. You need to choose a different name for the file.
I’m guessing you potentially intended the following instead:
dateFile.getParentFile().mkdirs();
dateFile.createNewFile();
I.e. create the parent folder of your file (including all its parents, as necessary), and then create the file inside it.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论