需求2: 指定一個文件夾,然後列出文件夾下面的所有子文件與文件夾,但是格式要如下:
文件:
文件名1
文件名2
文件名3
....
文件夾:
文件夾名1
文件夾名2
文件夾名3
....
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());
}
}
}