6

これが私がしなければならないことですが、どこから始めればよいかわかりません:

指定したディレクトリから画像 (gif、jpg) を閲覧できるプログラムを作成します。続いて、次のように画像がウィンドウに表示されます。

  • a)カタログとイメージ間の時間間隔 (秒単位) は、ファイルからの情報に基づいてプログラムの開始時に決定されます。
  • b)画像は元のサイズで表示されます。
  • c)画像をフレームに合わせます

私は非常に基本的な質問を知っていますが、Java を始めたばかりです。フォルダ内のすべてのアイテムの名前を教えてくれる関数はありますか?

4

4 に答える 4

7

ディレクトリ内のすべてのファイルにファイル オブジェクトが必要な場合は、次を使用します。

new File("path/to/directory").listFiles();

代わりに名前だけを使用したい場合

new File("path/to/directory").list();
于 2013-05-12T18:12:16.960 に答える
3

画像ファイルのみが必要な場合は、File.listFiles( FileFilter filter )を使用できます。

 File[] files = new File( myPath ).listFiles( 
    new FileFilter() {
       boolean accept(File pathname) {
          String path = pathname.getPath();
          return ( path.endsWith(".gif") 
              || path.endsWith(".jpg")
              || ... );
       }
    });
于 2013-05-12T18:14:14.877 に答える
1

JDK 7を使用できる場合、推奨される方法(私が言うかもしれませんが)は次のとおりです。

public static void main(String[] args) throws IOException {


    Path dir = Paths.get("c:/some_dir");
    try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.{gif,png,jpg}")) {
        for (Path entry: stream) {
            System.out.println(entry);
        }
    }

}

必ずしもすべてのエントリを保持するとは限らないイテレータを取得したため、より効率的です。

于 2013-05-12T18:44:26.287 に答える