dirlistonly.java~4~

来自「java2参考大全上的例子的源码和自己的理解.」· JAVA~4~ 代码 · 共 55 行

JAVA~4~
55
字号
package filenamefilter接口;

/**
 Java 2增加了list( )方法的一个变化形式,名为listFiles( ),你会发现该方法很有用。
listFiles( )形式如下:

File[ ] listFiles( )
File[ ] listFiles(FilenameFilter FFObj)
File[ ] listFiles(FileFilter FObj)

上述三种形式以File对象矩阵的形式返回文件列表,而不是用字符串形式返回。第一种
形式返回所有的文件,第二种形式返回满足指定FilenameFilter接口的文件。除了返回一个
File  对象数组,这两个listFiles( )方法就像list( )方法一样工作。
第三种listFiles( )形式返回满足指定FileFilter的路径名的文件。FileFilter只定义了一个
 accept( )方法,该方法被列表中的每个文件调用一次。它的通常形式如下:

 boolean accept(File path)

 如果文件被包括在列表中(即与path参数匹配的文件),accept( )方法返回true,如果
 不被包括,则返回false。

 只显示以.txt  为扩展名的文件
 1.txt
 2.txt
 */

// Directory of .HTML files.
import java.io.*;

class OnlyExt
    implements FilenameFilter {
  String ext;

  public OnlyExt(String ext) {
    this.ext = "." + ext;
  }

  public boolean accept(File dir, String name) {
    return name.endsWith(ext);
  }
}

class DirListOnly {
  public static void main(String args[]) {
    String dirname = "java";
    File f1 = new File(dirname);
    FilenameFilter only = new OnlyExt("txt");
    String s[] = f1.list(only);

    for (int i = 0; i < s.length; i++) {
      System.out.println(s[i]);
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?