こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

javaでファイルの実態チェック(拡張子無し)

javaでファイルの実態チェック(拡張子無し)


拡張子があるものであればFileクラスの.exists()で確認できると思いますが、
拡張子の無い(故意に消してある)ファイルに対して行うとエラーが出てしまいます。

つきましては、拡張子の無いファイルに対しての存在確認方法をご存知の方がおりましたら、
ご教授の程よろしくお願いいたします。

投稿日時 - 2010-09-09 00:40:14

QNo.6168886

すぐに回答ほしいです

質問者が選んだベストアンサー

>拡張子の無い(故意に消してある)ファイルに対して行うとエラーが出てしまいます。
とはどのようなエラーですか?問題なく確認できますが。

以下のようなフォルダを用意しました。
c:\
 -test
   a --拡張子無し
   a.log

以下のソースを実行しました。
import java.io.File;
public class FileExists {
 public static void main(String[] args) {
  File dir = new File("c:\\test");
  for (File file : dir.listFiles()) {
   System.out.println(file.getName() + ":" + file.exists());
  }
 }
}

実行結果
a:true
a.log:true

拡張子無しのファイル(a)もexists()で確認できます。
当方の環境は
OS:WindowsXP Pro SP3
java:1.6.0_21
です。

投稿日時 - 2010-09-09 09:21:32

補足

補足追加になります。

System.out.println(○○.exists);の形式でチェックをかけると
正常にtrue or falseがリターンされますが、、

if(○○.exists)の形式ですと上記の「String index out of range: -1」が出ます。

テスト環境
OS WindowsVista Business
java:jdk 1.5.0.16

投稿日時 - 2010-09-09 17:33:07

お礼

ご回答ありがとうございます。

説明に抜けがありましたので、補足致します。

拡張子がないファイルにexists()をかけた際、trueの場合は正常動作するのですが、
falseの場合は「String index out of range: -1」が出てしまいます。

投稿日時 - 2010-09-09 16:53:07

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(1)