2016-07-17 7 views
-2

私はディレクトリにフォルダを持っています。私は知っている、常に1つのファイルがあり、それは.txtファイルです。しかし、私はファイル名を知らない。 Javaでどのようにアクセスできますか?パスはどのように見えますか?ファイル名のないファイルへのアクセス

+0

次のリンクhttp://stackoverflow.com/questions/5694385/getting-the-filenames-of-all-files-in-a-folder?answertab=active#tab-top – Abbas

+2

'ファイルのチェック#リストファイル() ' – emotionlessbananas

答えて

1

あなたはディレクトリを開き、ファイルを見つけるまで、その内容の上に行くことができる:

public static File getTextFileInDirectory(String dirPath) { 
    File dir = new File(dirPath); 
    for (File f : dir.listFiles()) { 
     if (f.isFile() && f.getName().endsWith(".txt")) { 
      return f; 
     } 
    } 
    return null; 
} 

EDIT:それはディレクトリを仮定しても安全かどう常にその中にファイルを持っている以下のコメントに基づいて
、 、およびディレクトリ(例えば、サブディレクトリ)内の他の何もない、このコードを大幅に簡素化することができます:あなたが唯一のディレクトリ内の1つのファイルがあるだろう知っているので

public static File getTextFileInDirectory(String dirPath) { 
    return new File(dirPath).listFiles()[0]; 
} 
+0

フォルダにはその1つのファイルしか含まれていないので、リストが空でないことを確認して最初のファイルを返すことができると述べました –

+0

@ cricket_007「常に1つしかありませんファイルであり、それは.txtファイルです。 "これは、ファイルがディレクトリ内の唯一のものであること、またはそれが唯一の**ファイル**であることを意味し、ディレクトリには他のもの(サブディレクトリなど)も含めることができます。 – Mureinik

+0

他に何もありません!そのような場合には – Tobi123

1

は、ディレクトリのファイルの配列を取得することができますそして戻る存在する場合は最初の要素、そうでない場合はnull

public static File getFileFromDir(File directory) { 
    File[] dirFiles = directory.listFiles(); 
    return dirFiles.length > 0 ? dirFiles[0] : null; 
} 
関連する問題