- 浏览: 1236114 次
- 性别:
- 来自: 北京
最新评论
-
longxitian:
https://www.cnblogs.com/jeffen/ ...
万恶的Mybatis的EnumTypeHandler -
asialee:
ddnzero 写道博主请问FileUtils这个类是哪个包的 ...
使用mockftpserver进行ftp测试 -
ddnzero:
博主请问FileUtils这个类是哪个包的?还是自己的呢?能放 ...
使用mockftpserver进行ftp测试 -
yizishou:
为什么会intMap.get("bbb") ...
浅谈System.identityHashCode -
liguanqun811:
感觉LogManager打开了所有的LogSegment(文件 ...
jafka学习之LogManager
文章列表
上次这个是最后一个FileFilter,没想到这个实现的还比较复杂,当时头脑比较晕,也没有看懂,就想这次专门的看一下源码,在看这个Filter之前,我们必须要理解FilenameUtils里面的wildMatch函数的实现,这个是最经典的通配符的匹配,可以好好看看。
1. 首先我们应该来看一个小函数的实现splitOnTokens
这个函数实际上还是比较简单的,它的主要意图就是要将字符串按*和?进行分割,这个实际上也比较简单,下面我们就来看一些它的具体实现。
首先判断如果字符串里面不包含*或者?,则直接将字符串包装成String[]进 ...
1. IOFileFilter接口
这个接口就是分别实现了FileFilter和FilenameFilter这个两个接口,作为最上层的
接口,这个在后面的所有的filefilter里面可能都会实现这个接口
2. ConditionalFileFilter接口
这个接口从名字上可以看出来就是对一系列的FileFilter做操作,然后实际上就是实现了
对IOFileFilter的增,删,查和设置操作。其实我们应该能想到得是肯定会有子类去实现这个
接口来实现一些FileFilter的组合逻辑。比如And,Or等等,我们下面就会看到。
3.Abstrac ...
1. 首先我们来查看AbstractFileComparator这个抽象类
首先我们来看一下IO包里面的Comparator,这个都比较好理解,首先是AbstractFileComparator这个类,他提供了两个接口,可以实现对Array和Collection的sort功能。
// 实现了对File数组的排序功能
public File[] sort(File... files) {
if (files != null) {
Arrays.sort(files, this);
}
return ...
首先我们来分析它里面的的实例变量:buffers: 可以看成是一个buffer仓库,里面放的是已经读取的所有数据currentBufferIndex: 就是正在使用的buffer的indexcount: 用来存放buffers里面的所有的字节数currentBuffer
对下面链接提供的文件上传的代码的学习。
http://maozj.iteye.com/blog/695628
前两天看到这个文件上传的例子,大家都说不错,正好近来我在研究commons-fileupload,来分析一个这个代码,看看设计和实现思想。
可以肯定的是作者对fileupload是很熟悉的,这个里面的关键就是自己实现了一个FileItem,覆盖了父类里面的getOutputStream函数,所以由此就衍生了MonitoredDiskFileItem,他就是来实现这个函数的,返回一个自定义的的OutputStream,作者自定了OutputStream,感觉使用到了装饰 ...
FileItem类主要是封装了一个File Item或者是FormItem,它的主要的
方法如下,需要说明的是对于FormItem类型的,getName会得到null,
getContentType会得到null,如果是FileItem类型的,getName会得到
文件的全路径,getContentType会得到文件的类型。 然后以前在使用的时候
因为是数据是直接从InputStream里面读取的,现在看了代码实现,发现
是如果数据在内存里面,则直接返回,如果数据不在内存里面,则再读取一
下文件,然后将数据返回。
FileItem类主要是定义了接口,这些都是一些比较常见的操 ...
1. ThresholdingOutputStream
这个类的意图主要是可以处理设置了临界值的OutputStream做出处理,
它当然是复写了三个write方法。
有三个步骤:
1. 检测是否到达临界值
2. 调用底层的Stream写数据
3. 改变已写数据的游标written
里面有两个抽象的方法:
protected abstract OutputStream getStream()
protected abstract void thresholdReached()
意图分别是得到底层的Stream,一 ...
[置顶] Leader/Follower线程模型
- 博客分类:
- 多线程
近来正在分析线程模型,先写上最经典的Leader/Follower模式,代码是论坛里面一位兄弟写的,我主要是分析了一下,看一下实现,也顺便把类图贴上。
这两天想分析一下文件上传的源码,先写一下FileUpload的最基本的使用方法。 主要是给自己做一个总结,高手就不要看了,过两天我会分析FileUpload的源码。
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.ser ...
1. 关于正则表达式使用的。
需求是所有匹配上的字符串加上特殊的标志,这个典型的使用是在搜索里面给所有的关键字加粗,关键是忽略大小写的,所以要替换的串是不同的,举个例子,比如:
源串:aathread sdfdf Thread sdfdf T ...
使用下面这个java程序,要使用到atlassian-extras-1.21.jar
import com.atlassian.license.LicensePair;
import java.io.*;
import java.security.KeyFactory;
import java.security.Signature;
import java.security.spec.PKCS8EncodedKeySpec;
public class KeyGen {
public st ...
首先来介绍一下MBean暴露的接口,主要是根据filter得到logger,设置logger的对象,动态的得到当前log4j的配置等,这个比较简单。
import org.apache.log4j.Level;
public interface LoggingConfig {
/**
*
* @param filter returns only loggers, ...
原文地址: http://blog.sina.com.cn/s/blog_4f26c1c80100gyja.html
大家注意到没有,在Windows 7下使用Windows Live Messenger(或称MSN),关闭MSN主窗口后,它不像在XP/VISTA一那样会自动缩到托盘通知区域,而是继续在任务栏占用一格空间,没有对话窗口时只用来显示当前账户名及头像。虽然Windows 7的任务栏管理有了很大的改进,但也不能这么浪费,下面就来看看怎么让MSN老老实实地缩回到通知区域:
打开开始菜单/所有程序/Windows Live,右健点击Windows Live Mess ...
自己实现的HashTable,主要是学习一下Hash的冲突检测以及冲突解决方式,没有详细的测试,希望大家多多指教。
import java.util.Locale;
/**
* Implement a hash table to store strings (i.e. objects of the Java String
* class)
*
* @author LiYazhou
* @version 1.0
*/
public class HashTable {
/**
* The initialize size of this ha ...
自己写的一个HTML表格排序的程序,由于是自己写的,所以比较土,况且没有使用任何JavaScript库,所以只实现了一些简单的功能。主要是了解一下原理。
function ieOrFireFox(ob) {
if (ob.textContent != null)
return ob.textContent;
var s = ob.innerText;
return s.substring(0, s.length);
}
function sortTableByColumn(sortTableId,iCol,dataType){
var s ...