下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
import java.io.File; import java.io.FilenameFilter; import java.io.FileFilter; /** * ----------------------------------------------------------------------------- * This program demonstrates how to list the file or subdirectories in a * given directory * * @version 1.0 * ----------------------------------------------------------------------------- */ public class ListFilesSubs { /** * Used to list the files / subdirectories in a given directory. * @param dir Directory to start listing from */ private static void doSimpleFileListing(String dirName) { System.out.println(); System.out.println("Simple file listing..."); System.out.println("----------------------"); File dir = new File(dirName); String[] children = dir.list(); printFiles(children,dirName); } /** * Used to list the files / subdirectories in a given directory and also * provide a filter class. * @param dir Directory to start listing from * @param ff A string that can be used to filter out files from the * returned list of files. In this example,the String * values is used to only return those values that start * with the given String. */ private static void doFileFilterListing(String dirName,String ff) { System.out.println("Filter file listing..."); System.out.println("----------------------"); final String fileFilter = ff; File dir = new File(dirName); FilenameFilter filter = null; if (fileFilter != null) { // It is also possible to filter the list of returned files. // This example uses the passed in String value (if any) to only // list those files that start with the given String. filter = new FilenameFilter() { public boolean accept(File dir,String name) { return name.startsWith(fileFilter); } }; } String[] children = dir.list(filter); printFiles(children,dirName); } /** * Used to list the files / subdirectories in a given directory and also * provide a filter class that only lists the directories. * @param dir Directory to start listing from */ private static void doFileFilterDirectoryListing(String dirName) { System.out.println("Filter Directory listing..."); System.out.println("---------------------------"); File dir = new File(dirName); // The list of files can also be retrieved as File objects. In this // case,we are just listing all files in the directory. For the sake // of this example,we will not print them out here. File[] files = (new File(dirName)).listFiles(); // This filter only returns directories FileFilter dirFilter = new FileFilter() { public boolean accept(File dir) { return dir.isDirectory(); } }; files = dir.listFiles(dirFilter); for (int i=0; i<files.length; i++) { System.out.println("[D] : " + files[i]); } System.out.println(); } /** * Utility method to print the list of files to the terminal * @param children A String array of the file names to print out * @param dirName The given directory to start the listing at. */ private static void printFiles(String[] children,String dirName) { if (children == null) { System.out.println("Error with " + dirName); System.out.println("Either directory does not exist or is not a directory"); } else { for (int i=0; i<children.length; i++) { // Get filename of file or directory String filename = children[i]; if ((new File(dirName + File.separatorChar + filename)).isDirectory()) { System.out.print("[D] : "); } else { System.out.print("[F] : "); } System.out.println(dirName + File.separatorChar + filename); } } System.out.println(); } /** * Sole entry point to the class and application. * @param args Array of String arguments. */ public static void main(String[] args) { // Call the simple file listing method doSimpleFileListing("new_dir"); // Now do the file listing but pass in a String to filter the file list if (args.length == 0) { doFileFilterListing("new_dir",null); } else { doFileFilterListing("new_dir",args[0]); } // Now do another example that only prints out the directories doFileFilterDirectoryListing("new_dir"); } }
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。