`

IO 目录列表器 回调函数 Thinking in java 4

    博客分类:
  • J2SE
阅读更多
import java.io.*;
import java.util.regex.Pattern;
/**
 * 目录列表器
 * 	观看一个目录列表。可用两种方式列出File对象。
 * 		(1)若在不含自变量(参数)的情况下调用list(),会获得File对象包含的一个完整列表。
 * 		(2)然而,若想对这个列表进行某些限制,就需要使用一个“目录过滤器”,该类的作用是指出应如何选择File对象来完成显示。
 * 
 * @author SUN
 *
 */
public class DirList2 {
	public static void main(String[] args) {
		try {
			File path = new File(".");
			String[] list;
			if (args.length == 0)
				list = path.list();	// (1)
			else
				list = path.list(new DirFilter(args[0]));	// (2)
			for (int i = 0; i < list.length; i++)
				System.out.println(list[i]);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

/*
 	public String[] list(FilenameFilter filter) {
			String names[] = list();	// 获得"."当前目录下的所有文件名称
			if ((names == null) || (filter == null)) {	// names 和 filer 有一个为null,就返回 names
				return names;
			}
			ArrayList v = new ArrayList();
			for (int i = 0 ; i < names.length ; i++) {
				if (filter.accept(this, names[i])) {	// 添加符合要求的文件名,参数(当前对象自引用,当前的文件名称)
					v.add(names[i]);
				}
			}
			return (String[])(v.toArray(new String[v.size()]));	// 转换为字符串数组
		}
 */

class DirFilter implements FilenameFilter {
	private Pattern pattern;

	public DirFilter(String regex) {
		pattern = Pattern.compile(regex);
	}

	public boolean accept(File dir, String name) {
		System.out.println("fdsafdsa" + dir.getName());
		return pattern.matcher(name).matches();
	}
}

class DirFilter2 implements FilenameFilter {
	String afn;

	DirFilter2(String afn) {
		this.afn = afn;
	}

	public boolean accept(File dir, String name) {
		// Strip path information:
		String f = new File(name).getName();
		return f.indexOf(afn) != -1;
	}
} 
分享到:
评论

相关推荐

    Thinking in Java简体中文(全)

    10.4.1 目录列表器 10.4.2 检查与创建目录 10.5 IO流的典型应用 10.5.1 输入流 10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer ...

    Thinking in Java Fourth Edition

    特变注意,这是英文版的!!...第10 章 JAVA IO 系统 第11 章 运行期类型鉴定 第12 章 传递和返回对象 第十三章 创建窗口和程序片 第14 章 多线程 第15 章 网络编程 第16 章 设计范式 第17 章 项目

    Thinking in Java 中文第四版+习题答案

    10.4.1 目录列表器 10.4.2 检查与创建目录 10.5 IO流的典型应用 10.5.1 输入流 10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 ...

    Thinking in Java (Second Edition)

    The Author: This is the best book on Java that I have ever found! You have done a great job. Your depth is amazing. I will be purchasing the book when it is published. I have been learning Java ...

    Scalable IO in Java

    Scalable IO in Java,讲解Java nio的经典

    JAVA_Thinking in Java

    10.4.1 目录列表器 10.4.2 检查与创建目录 10.5 IO流的典型应用 10.5.1 输入流 10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer ...

    scalable io in java

    Scalable in in java .Doug Lee的著作,学习线程模型必备。

    Scalable io in java.doc

    nio.pdf 博文链接:https://shenkun-918.iteye.com/blog/965654

    Scalable IO in Java.zip

    Scalable IO in Java是java.util.concurrent包的作者,大师Doug Lea关于分析与构建可伸缩的高性能IO服务的一篇经典文章,在文章中Doug Lea通过各个角度,循序渐进的梳理了服务开发中的相关问题,以及在解决问题的...

    java IO教程,java IO教程,java IO教程

    java IO教程,java IO教程,java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程,java IO教程,java IO教程,java IO...

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    10.4.1 目录列表器 10.4.2 检查与创建目录 10.5 IO流的典型应用 10.5.1 输入流 10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer ...

    Scalable IO in Java -Doug Lea.rar

    Scalable IO in Java -Doug Lea.rarScalable IO in Java -Doug Lea.rar

    doug lea《Scalable IO in Java》

    doug lea 大神 Reactor 说明 Scalable IO in Java 原文必读 原文必读 原文必读

    IO流 javaio java 流

    IO流 javaio java 流

    Thinking in Java(中文版 由yyc,spirit整理).chm

    “Thinking in Java”详细目录   写在前面的话 引言 1. 前提 2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 ...

    scalable-io-in-java-中文.pdf

    网上都是不带书签,并且有些地方翻译有歧义。 所以我整理了一个。 特点:带书签 Scalable io in java 中文版,并且对有歧义的语义进行了修改。

    keras 回调函数Callbacks 断点ModelCheckpoint教程

    你可以传递一个列表的回调函数(作为 callbacks 关键字参数)到 Sequential 或 Model 类型的 .fit() 方法。在训练时,相应的回调函数的方法就会被在各自的阶段被调用。 Callback keras.callbacks.Callback() 这是...

Global site tag (gtag.js) - Google Analytics