2012-06-07 28 views
6

Hey guys tôi có một vấn đề tôi đã nhận đoạn mã sau:tạo một thư mục trên sd với các thư mục con

File folder = new File(Environment.getExternalStorageDirectory() + "/myapp/folderone/foldertwo"); 
    boolean success = false; 
    if (!folder.exists()) { 
     success = folder.mkdir(); 
    } 
    if (!success) { 
    } else { 
    } 

nhưng nó chỉ đơn giản là không làm việc tôi cũng nói thêm sự cho phép:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

Hope ai đó có thể giúp tôi với điều này.

Trả lời

19

Cố gắng sử dụng mkdirs() thay vì mkdir() chỉ, điều này làm việc cho tôi.

Ví dụ:

File folder = new File(Environment.getExternalStorageDirectory() + "/myapp/folderone/foldertwo"); 
    boolean success = false; 
    if (!folder.exists()) { 
     success = folder.mkdirs(); 
    } 
    if (!success) { 
    } else { 
    } 
+1

oh người đàn ông làm thế nào tôi có thể là mù tìm kiếm một giải pháp kể từ giờ – ollidiemaus

+3

đó là cuộc sống hàng ngày của một nhà phát triển ^^ ... upvotes và Chấp nhận được đánh giá cao;) – Thkru

3

Bạn đã thử gọi mkdirs() thay vì mkdir()?

mkdir sẽ chỉ tạo một thư mục được chỉ định. Trong trường hợp của bạn "foldertwo".

mkdirs sẽ tạo ra thư mục nào đó (FOLDERTWO) cùng với tất cả các thư mục khác cần thiết trong đường dẫn (myapp & FOLDERONE)

Các vấn đề liên quan