2009-08-04 25 views
12

Belki biraz utanç verici, ama birkaç saat sonra hala burada ne eksik ...Java'da bir dosya nasıl oluşturulur (klasör değil)?

File file = new File(dirName + "/" + fileName); 
try 
{ 
    // --> ** this statement gives an exception 'the system cannot find the path' 
    file.createNewFile(); 
    // --> ** this creates a folder also named a directory with the name fileName 
    file.mkdirs(); 
    System.out.println("file != null"); 
    return file; 
} 
catch (Exception e) 
{ 
    System.out.println(e.getMessage()); 
    return null; 
} 

Java bir dosya oluşturamıyor?

cevap

20

ilk üst dizinleri oluşturmayı deneyin:

File file = new File(dirName + File.separator + fileName); 
try { 
    file.getParentFile().mkdirs(); 
    file.createNewFile(); 
    System.out.println("file != null"); 
    return file; 
} 
catch (Exception e) 
{ 
    System.out.println(e.getMessage()); 
    return null; 
} 
+0

teşekkür ederim, o java kafa karıştırıcı Java gerçekleştirmeliyiz Nasıl klasörler – Gerard

+2

dosyaları ayırt etmek gibi görünmüyor? “A”, dosya veya dizin nedir? Neden "foo.dat" bir dosya değil, bir dizin olmalı? Java'ya ne istediğini söylemelisin. Java'ya “index.html” adlı bir dizin oluşturmasını söylerseniz, “index.html” adıyla bir dizin oluşturabilirsiniz. :) – Bombe

+0

senin notu bir programcılar perspektiften geliyor, benim karışıklığımın bir kullanıcı perspektifinden geldi, çünkü bir bilgisayar kullanıcısı klasörler ve dosyalar arasında ayrım yapıyor; java insanı desteklemeyi seçmiş olabilir, örn. Bir filetype enum ile – Gerard

1
String dirName="c:\\dir1\\dir2"; 
    String fileName="fileName.txt"; 
    File file = new File(dirName + "/" + fileName); 
    try { 
     new File(dirName).mkdirs(); // directory created here 
     file.createNewFile(); // file created here 
     System.out.println("file != null"); 
     return file; 
    }catch(Exception e) 
     { 
      System.out.println(e.getMessage()); 
      return null; 
     } 
İlgili konular