2015-11-11 20:20:04 -08:00
|
|
|
|
// files/DirList.java
|
2015-11-14 16:18:05 -08:00
|
|
|
|
// <20>2016 MindView LLC: see Copyright.txt
|
2015-06-15 17:47:35 -07:00
|
|
|
|
// Display a directory listing using regular expressions.
|
|
|
|
|
// {Args: "D.*\.java"}
|
|
|
|
|
import java.util.regex.*;
|
|
|
|
|
import java.io.*;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
public class DirList {
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
File path = new File(".");
|
|
|
|
|
String[] list;
|
|
|
|
|
if(args.length == 0)
|
|
|
|
|
list = path.list();
|
|
|
|
|
else
|
|
|
|
|
list = path.list(new DirFilter(args[0]));
|
|
|
|
|
Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);
|
|
|
|
|
for(String dirItem : list)
|
|
|
|
|
System.out.println(dirItem);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class DirFilter implements FilenameFilter {
|
|
|
|
|
private Pattern pattern;
|
|
|
|
|
public DirFilter(String regex) {
|
|
|
|
|
pattern = Pattern.compile(regex);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public boolean accept(File dir, String name) {
|
|
|
|
|
return pattern.matcher(name).matches();
|
|
|
|
|
}
|
2015-09-07 11:44:36 -06:00
|
|
|
|
}
|
|
|
|
|
/* Output:
|
2015-06-15 17:47:35 -07:00
|
|
|
|
DirectoryDemo.java
|
|
|
|
|
DirList.java
|
|
|
|
|
DirList2.java
|
|
|
|
|
DirList3.java
|
2015-09-07 11:44:36 -06:00
|
|
|
|
*/
|