六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 36|回复: 0

JAVA 回调机制之策略模式

[复制链接]

升级  39.33%

29

主题

29

主题

29

主题

秀才

Rank: 2

积分
109
 楼主| 发表于 2013-2-3 14:16:02 | 显示全部楼层 |阅读模式
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[]{"."});}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表