2012-04-23 3 views
7

可能性の重複:
Recursively create directoryのJavaます。mkdir -p同等

何ディレクター(IES)を作成するには、Java風の道だし、それが存在する場合は文句を言いませんか?

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. 

答えて

12

あなたはjava.io.Fileのドキュメントを読むことを試みたことがありますか? File#mkdirs()は必要なだけの機能を果たします。

+1

File、mkdirs()はほとんどの例外を抑制し、何かが間違っている場合にのみfalseを返しますので、何が起こっているのか分かりません。間違っている可能性のあるものの1つは、リーフディレクトリがすでに存在することです。これは、mkdir -pによって暗黙に受け入れられます。 – janek37

+1

もしそれが納得がいかないのであれば、私はもっと答えに感謝します。 – gonzojive

6

あなたはFile.mkdirs()を探しています。

この抽象パス名で指定されたディレクトリ(存在しないが存在しない親ディレクトリを含む)を作成します。この操作が失敗した場合、必要な親ディレクトリのいくつかを作成できた可能性があります。

4

Javaでは、ファイルとディレクトリの両方がFileオブジェクトとして表されます。

だから、あなたが行うことができます役立ちます

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

希望。

+0

mkdir()を使用すると、パス内の最後のディレクトリのみが作成されます。mkdirs()を使用してパス全体を作成する必要があります。 – GaryF

+0

ありがとう@GaryF、それはタイプミスでした。投票しないでいただきありがとうございます。 – TechSpellBound