Java创建文件和目录(如果需要)
我想创建一个文件(在工作区之外),这样打开我的程序的每个人都有自己的文本文件 目前,我必须执行以下代码:Java创建文件和目录(如果需要),java,file,Java,File,我想创建一个文件(在工作区之外),这样打开我的程序的每个人都有自己的文本文件 目前,我必须执行以下代码: private static final File m_dataFile = new File("C:\\temp\\MainPlayersLoginData.txt"); private static FileWriter writer; private static Scanner reader; public static void setMainPlayersL
private static final File m_dataFile = new File("C:\\temp\\MainPlayersLoginData.txt");
private static FileWriter writer;
private static Scanner reader;
public static void setMainPlayersLoginData(String name, String password) {
try {
if (!m_dataFile.exists()) {
createDirectory();
}
writer = new FileWriter(m_dataFile);
writer.write(name + "\n" + password);
writer.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null)
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private static void createDirectory() {
System.out.println("creating directory: " + m_dataFile.getName());
boolean result = false;
try {
m_dataFile.mkdirs();
result = true;
} catch (SecurityException se) {
}
if (result) {
System.out.println("DIR created");
}
}
有了这段代码,程序会按计划创建一个临时文件夹,但会在其中创建一个名为“mainplayersloginda.txt”的文件夹,而不是一个文本文件。此外,在初始化FileWriter时,我会收到一个FileNotFoundException,并显示消息“Access denied”
我尝试使用m_datafile.mkdir()而不是m_datafile.mkdirs(),但这次我得到一个FileNotFoundException,消息是“系统找不到指定的路径”,并且没有创建文件夹temp
编辑:如果我自己创建文件夹和文本文件,一切正常。如果要将整个路径创建为目录,请尝试
m\u dataFile.getParentFile().mkdirs()
。并将result
设置为其返回值,而不是true
。它不会引发异常,除非您安装了securityManager
。@Marqueisoflorne工作得很好,谢谢:)如果要将整个路径创建为目录,请尝试m_dataFile.getParentFile().mkdirs()
。并将result
设置为其返回值,而不是true
。它不会抛出异常,除非您安装了securityManager
。@Marqueisoflorne工作正常,谢谢:)