2012-04-23 40 views
7

thể trùng lặp:
Recursively create directoryJava mkdir -p tương đương

cách java-esque để tạo ra một giám đốc (ies) là gì, và không phàn nàn nếu nó tồn tại?

Trích dẫn những người đàn ông cho mkdir:

-p Create intermediate directories as required... with this option 
     specified, no error will be reported if a directory given as an 
     operand already exists. 

Trả lời

12

Bạn đã cố gắng đọc tài liệu cho java.io.File? File#mkdirs() chỉ là những gì bạn cần.

+1

Tệp, mkdirs() chặn hầu hết các trường hợp ngoại lệ và chỉ trả về false nếu có sự cố, vì vậy bạn không biết điều gì đang diễn ra. Một trong những điều có thể xảy ra là thư mục lá đã tồn tại - được mkdir -p chấp nhận âm thầm. – janek37

+1

Tôi sẽ đánh giá cao câu trả lời hơn nếu nó không bị giảm dần. – gonzojive

6

Bạn đang tìm kiếm File.mkdirs().

Tạo thư mục được đặt tên theo tên đường dẫn trừu tượng này, bao gồm mọi thư mục mẹ không cần thiết nhưng không tồn tại. Lưu ý rằng nếu thao tác này thất bại, nó có thể đã thành công trong việc tạo một số thư mục cha cần thiết.

4

Trong Java, cả tệp và thư mục được thể hiện dưới dạng đối tượng Tệp.

Vì vậy, bạn có thể làm:

File file = new File("C:/a"); 
file.mkdirs(); 

Hy vọng rằng sẽ giúp.

+0

Sử dụng mkdir() chỉ tạo thư mục cuối cùng trong đường dẫn, bạn cần sử dụng mkdirs() để tạo toàn bộ đường dẫn. – GaryF

+0

Cảm ơn @GaryF, đó là lỗi đánh máy. Cảm ơn bạn đã không bỏ phiếu xuống. – TechSpellBound