读书人

JAVA 回调机制之计策模式

发布时间: 2012-09-07 10:38:15 作者: rapoo

JAVA 回调机制之策略模式

package com.file;import java.io.File;import java.io.IOException;public class ProcessFiles {/** * 策略模式 * @author Administrator *重点 */public interface Strategy{void process(File file);}private Strategy strategy;private String ext;//扩展名称public ProcessFiles (Strategy strategy , String ext){this.strategy = strategy;this.ext = ext;}public void start (String[] args){try {if(args.length == 0){processDirectoryTree(new File("."));}else{for(String arg : args){File fileArg = new File(arg);if(fileArg.isDirectory()){processDirectoryTree(fileArg);}else{if(!arg.endsWith("." + ext)){arg += "." + ext;}strategy.process(new File(arg).getCanonicalFile());}}}} catch (Exception e) {throw new RuntimeException(e);}}public void processDirectoryTree(File root)throws IOException{for(File file : Directory.walk(root.getAbsoluteFile(),".*\\." + ext)){strategy.process(file.getCanonicalFile());}}public static void main(String[] args) {new ProcessFiles(new ProcessFiles.Strategy() {public void process(File file) {System.out.println(file);}}, "java").start(new String[]{"."});}}
?

读书人网 >编程

热点推荐