Estoy intentando crear un directorio pero parece fallar todo el tiempo? He comprobado que no es un problema de permiso, tengo permiso completo para escribir en ese directorio. Gracias por adelantado.Java - mkdir() no está escribiendo el directorio
Aquí está el código:
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);
Aquí está la salida:
Directory is not created
Error: C:\Program Files\Sure Important\Report Cards\2012\7\4532.txt (The system cannot find the path specified)
Saludos que parece ser el problema, voy a aceptar la respuesta cuando me alows a :) ¡¡¡GRACIAS!!! – Nick
Dado que la parte "dinámica" de la ruta de acceso tiene dos directorios, diría que esta teoría es bastante buena ... –
Copié tu código, lo cambié a mkdirs() y funcionó. Edición para incluir el código relevante –