我试图创建一个目录,但似乎每次都失败了?我已经检查过,这不是一个权限问题太,我有充分的权限写入该目录。提前谢谢。
代码如下:
private void writeTextFile(String v){
try{
String yearString = convertInteger(yearInt);
String monthString = convertInteger(month);
String fileName = refernce.getText();
File fileDir = new File("C:\\Program Files\\Sure Important\\Report Cards\\" + yearString + "\\" + monthString);
File filePath = new File(fileDir + "\\"+ fileName + ".txt");
writeDir(fileDir);
// Create file
FileWriter fstream = new FileWriter(filePath);
try (BufferedWriter out = new BufferedWriter(fstream)) {
out.write(v);
}
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
private void writeDir(File f){
try{
if(f.mkdir()) {
System.out.println("Directory Created");
} else {
System.out.println("Directory is not created");
}
} catch(Exception e){
e.printStackTrace();
}
}
public static String convertInteger(int i) {
return Integer.toString(i);
}
Calendar cal = new GregorianCalendar();
public int month = cal.get(Calendar.MONTH);
public int yearInt = cal.get(Calendar.YEAR);
以下是输出:
Directory is not created
Error: C:\Program Files\Sure Important\Report Cards\2012\7\4532.txt (The system cannot find the path specified)
2条答案
按热度按时间vktxenjb1#
我想@la bla bla已经搞定了,但为了完整起见,下面是我能想到的所有可能导致
File.mkdir()
失败:路径名中的语法错误;e、 g.文件名组件中的非法字符
包含最终目录组件的目录不存在。
已经有这个名字的东西了。
您没有在父目录中创建目录的权限
您没有权限在路径上的某个目录中进行查找
要创建的目录位于只读文件系统上。
文件系统出现硬件错误或网络相关错误。
(显然,在这个问题中,其中一些可能性可以很快消除……)
hgtggwj02#
可能是因为
File.mkdir
仅当父目录存在时才创建目录。尝试使用File.mkdirs
它创建了所有必要的目录。这是对我有用的代码。
我唯一的改变就是改变
f.mkdir()
至f.mkdirs()
而且成功了