2016-10-29 13 views
0

なぜFile file=new File("folderName");が動作しないのですか? フォルダ名とパスが有効です。同じコードがファイルに対して実行されていますが、フォルダに対しては実行されていません。Javaでフォルダのプロパティを表示する方法は?

File file=new File("folderName"); 
if(file.exists()){ 
System.out.println("Folder exists"); 
} 
else{ 
    System.out.println("Folder doesn't exists"); 
} 

file.exists()は常にfalseを返します。

私の課題では他のライブラリを使用することはできません。

+0

私のシステムで動作します。 * folderName *はあなたが実行しているプログラムと同じディレクトリにありますか? – UnholySheep

+1

ちなみに、 'if(file.exists())'が真であるかどうかをチェックすることは冗長であること –

+0

はい私は確信しています。私は同じディレクトリにあるファイルとフォルダを試しました。それはファイルのために働いたが、フォルダーのために働いていなかった。私は別のフォルダをチェックし、フォルダ名のスペースを世話しました。 –

答えて

0

間違った場所:

File file = new File("folderName"); 

現在の作業ディレクトリを使用し、それはあなたが(など、ご使用の環境、IDEに依存する)を想定するものと異なる場合があります。あなたは簡単に使用して問題をデバッグすることができ

:ところで

System.out.println(file.getAbsolutePath()) 

を、あなたはif(file.exists() == true)if(file.exists())にを簡素化する必要があります。

+0

これは役に立ちませんか?いくつかの疑問があります: 'folderName' *は正確に(大文字と小文字を区別して)フォルダ名と同じですか?どのオペレーティングシステムを使用していますか? – Jonik

+0

ありがとう、私の問題を解決しました。実際には、アドレスを生成する際にフォルダ名の前に余分な名前がありました。 –

+1

あなたの正しい道は正しいとは思っていませんでした。 – DevilsHnd

0

フォルダメタデータの管理hereを参照してください)のすべてのプロパティを表示できます。

  • サイズ(パス):

    あなたは、いくつかの方法があります。

  • isDirectory(Path、LinkOption)。
  • isRegularFile(Path、LinkOption ...)。
  • isSymbolicLink(パス)。
  • isHidden(パス)。
  • get/setLastModifiedTime(Path、LinkOption ...)。
  • のget/SETOWNER(パス、LinkOption ...)
  • ...

あなたのSystem.outのメソッドを持つか、他の方法とそれらを使用することができます。いくつかの属性を読み込み、ファイルを変更することもできます。

良い一日を!

0

あなたのコードは確かにあなたが明示的にフォルダ(ディレクトリ)の存在をチェックしている場合は、あなたのIF/ELSE条件は、このようなものでなければなりませんが動作する必要があります。ほとんどの場合、この中で「folderName」を探している

if(file.exists() && file.isDirectory()) { 
    System.out.println("Folder exists"); 
} 
else{ 
    System.out.println("Folder doesn't exists"); 
} 
+0

いいえ、動作しません。実際にはプログラムは存在しないと言います。 –

+0

それから... "folderName"は単に存在しません。 "folderName"は変数であると考えられますか?そうであれば、引用符を取り除く。 – DevilsHnd

関連する問題