Bu muhtemelen var: Burada
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);
çıktı: İşte
kodudur. Gerekli tüm dizinleri oluşturan
File.mkdirs
kullanmayı deneyin.
İşte benim için çalışan kod.
private void writeDir(File f){
try{
if(f.mkdirs()) {
System.out.println("Directory Created");
} else {
System.out.println("Directory is not created");
}
} catch(Exception e){
// Demo purposes only. Do NOT do this in real code. EVER.
// It squashes exceptions ...
e.printStackTrace();
}
}
yaptığım tek değişiklik f.mkdirs()
için f.mkdir()
değiştirmek oldu ve
Cheers (Açıkçası, bu olasılıkların bazıları hızla ... Bu sorunu bağlamında elimine edilebilir) TEŞEKKÜRLER!!! – Nick
Yoladının "dinamik" bölümü iki dizine sahip olduğundan, bu teorinin oldukça iyi olduğunu söyleyebilirim ... –
Kodunu kopyaladım, mkdirs() olarak değiştirdim ve işe yaradı. İlgili kodu –