2012-01-25 12 views
0

フォルダが作成されていないという事実に悩まされています。新しいディレクトリを作成する

private static File createNewTempDir() { 
File baseDir = new File(System.getProperty("java.io.tmpdir")); 
String baseNamePrefix = System.currentTimeMillis() + "_" + Math.random() + "-"; 
LOG.info(System.getProperty("java.io.tmpdir")); 
File tempDir = new File(baseDir, baseNamePrefix + "0"); 
LOG.info(tempDir.getAbsolutePath()); 

tempDir.mkdirs(); 

if (tempDir.exists()) { 
    LOG.info("I would be happy!"); 
} 
else { 
    LOG.info("No folder there"); 
} 
return tempDir; 
} 

問題がありますか?私は、フォルダがない...

+0

確かにフォルダはありませんか?それが存在するときだけそこには記録されません。 –

+0

問題は 'if(!tempDir.exists())'の否定であるようです。それは "私は幸せになるだろう!"パスが存在しない場合は「No folder there」と表示されます。 –

+0

この問題はアリとは何が関係していますか?私はそれの使用を見ることができません。おそらくタグを削除する必要があります。 – joergl

答えて

2

あなたのコードは大丈夫ですが、あなたの条件が間違っていることLOGを取得することができます:あなたがパスを取得することにより、ということを確認することができ、

if (tempDir.exists()) { 
    LOG.info("I would be happy!"); 
} 
else { 
    LOG.info("No folder there"); 
} 

フォルダが実際に作成され、エクスプローラで開きます。

EDIT:少なくともWindowsでは動作します。私は少しそれをクリーンアップ:

public static void main() { 
     File baseDir = new File(System.getProperty("java.io.tmpdir")); 
     File tempDir = new File(baseDir, "test0"); 
     System.err.println(tempDir.getAbsolutePath()); 

     tempDir.mkdir(); 

     System.err.println("is it a dir? " + tempDir.isDirectory()); 
     System.err.println("does it exist? " + tempDir.exists()); 
    } 

出力:

C:\ Users \ユーザーmarsch1 \のAppData \ローカル\一時\のTEST0 は、それがディレクトリでありますか? true 存在しますか? true

+0

申し訳ありません、マルセロ、私はミスタイプです.. –

+0

Thx Marcelo。なぜこの問題が発生したのか分かりません。あなたのコードに従えば、フォルダが作られたことを確認できます。しかし、私のコードに従えば、うまくいきません。とにかく、助けを求めるthx。後で問題を確認するつもりですが、解決策がもっと必要です...とにかく助けてくれてありがとう –

+0

Rude-Student、私は 'file.mkdirS()'の代わりに 'file.mkdir()'を使ったことを知りました。多分それはあなたの問題ですか? – Marcelo

関連する問題