Wan*_*der 10 java directory file
我正在尝试在此目录中创建一个新目录和一个文件.谁能告诉我哪里出错了?
我正在使用Windows系统,我希望该目录存在于我的.java文件所在的文件夹中.
import java.io.*;
class PS_Task1 {
public static void main(String[] args) {
try {
File file = new File("Library\\test.txt");
file.mkdir();
file.createNewFile();
}
catch(Exception e) {
System.out.println("ecception");
}
}
}
Run Code Online (Sandbox Code Playgroud)
Mad*_*mer 30
基本上,正在发生的是,你正在创建一个名为的目录Library\test.txt,然后尝试创建一个名为同一个东西的新文件,这显然不起作用.
所以,而不是......
File file = new File("Library\\test.txt");
file.mkdir();
file.createNewFile();
Run Code Online (Sandbox Code Playgroud)
尝试...
File file = new File("Library\\test.txt");
file.getParentFile().mkdir();
file.createNewFile();
Run Code Online (Sandbox Code Playgroud)
额外
mkdir 如果它失败了,实际上不会抛出任何类型的异常,这是相当烦人的,所以相反,我会做更像...
File file = new File("Library\\test.txt");
if (file.getParentFile().mkdir()) {
file.createNewFile();
} else {
throw new IOException("Failed to create directory " + file.getParent());
}
Run Code Online (Sandbox Code Playgroud)
就这样,我知道实际问题是什么......
额外
目录的创建(在此上下文中)将位于您运行程序的位置...
例如,从中运行程序C:\MyAwesomJavaProjects\FileTest,Library将在此目录中创建目录(即C:\MyAwesomJavaProjects\FileTest\Library).将它创建在与.java文件相同的位置通常不是一个好主意,因为您的应用程序实际上可能会在以后捆绑到Jar中.
| 归档时间: |
|
| 查看次数: |
46939 次 |
| 最近记录: |