需求1 : 指定一個文件夾,而後該文件夾下面全部java文件。
需求2: 指定一個文件夾,而後列出文件夾下面的全部子文件與文件夾,可是格式要以下:
文件:
文件名1
文件名2
文件名3
....
文件夾:
文件夾名1
文件夾名2
文件夾名3java
....ide
package com.file; import java.io.File; import java.io.FilenameFilter; /** * @author 王金龍 * @date 建立時間: 2017-2-9 下午3:49:55 * @version 1.0 */ class MyFilter implements FilenameFilter{ @Override public boolean accept(File dir, String name) { return name.matches(".+\\.java"); } } public class Example { public static void main(String[] args) { /* 通常方法: File file = new File("F:\\java myeclipes workspace\\test17\\src\\cn\\itcast\\map"); File[] listfiles=file.listFiles(); for(File item : listfiles){ if(item.getName().endsWith(".java")&&item.is.File()){ System.out.println(item.getName()); if(item.getName().matches(".+\\.java")&&item.isFile()){ System.out.println(item.getName()); } } */ File dir = new File("F:\\java myeclipes workspace\\test17\\src\\cn\\itcast\\map"); filter(dir); File files = new File("F:\\Photoshop"); File[] listfiles2=files.listFiles(); System.out.println("文件:"); for(File item : listfiles2){ if(item.isFile()){ System.out.println("\t"+item.getName()); } } System.out.println("文件夾"); for(File item : listfiles2){ if(item.isDirectory()){ System.out.println("\t"+item.getName()); } } } public static void filter(File dir){ File[] filter=dir.listFiles(new MyFilter()); System.out.println("全部.java文件以下:"); for(File item : filter){ System.out.println("\t"+item.getName()); } } }