一. 스프링 x : application.xml
<? xml 버전 = "1.0"alcoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans"xmlns : xsi = "http://ww.w.w3.org/2001/xmlschema-instance" xmlns : tx = "http://www.springframework.org/schema/tx"xmlns : aop = "http://www.springframework.org/schema/aop"xmlns : context = "http://www.springframwork.org/schema/comext" xmlns : dwr = "http://www.directwebremoting.org/schema/spring-dwr"xmlns : jaxrs = "http://cxf.apache.org/jaxrs"xsi : schemalocation = "http://www.spramwork.org/schema/schema http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/sprring-3 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.spramework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/spride http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd "> <! <! <!-<a <bean id ="monitor "> <constructor-arg index ="0 "value ="10000 "/> <!-监测时间间隔 监测时间间隔 :- <"1 "" "". ref = "옵저버"/> <!-文件观察器-> </bean> <!-文件观察器-> <bean id = "옵저버"> <생성자-arg index = "0"value = "d : // uploaddir"/> <!-<-> <constructor-arg index = "1"ref = "filter"/>-<sounder = "2 reg ="2. " <!->-> </bean> <!-> <bean id = "리스너"/> <!-文件过滤器-> <bean id = "필터"> <!-指定文件扩展名 指定文件扩展名, 只有指定的扩展名文件会被处理。 不同的扩展名间以 不同的扩展名间以 ","间隔 间隔 : xml, txt, bak-> <constructor-arg index = "value ="xml "/</bean> </bean> </bean> </bean>
二. 스프링 te : SpringContextLoaderListener.class
import javax.servlet.servletcontextevent; import org.springframework.web.context.contextloaderListener; public class springContextLoaderListener를 확장하여 ContextLoaderListener {@override public void contextinitialized (servletcontextevent) {super.contextinitialized (이벤트); Filemonitor 스캐너 = GetSCanner (); // scanner.start (); } @override public void contextDestroyed (servletcontextevent event) {filemonitor scanner = getScanner (); // scanner.stop (); super.contextDestroyed (이벤트); } / ** * * * @return * / private filemonitor getScanner () {return getCurrentWebApplicationContext (). getBean (filemonitor.class); }}三. 웹 x : web.xml
<? xml version = "1.0"encoding = "utf-8"?> <web-app xmlns : xsi = "http://www.w3.org/2001/xmlschema-instance"xmlns : web = "http://xmlns.jcp.org/xml/ns/javaee" xsi : schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "version ="2.4 "> <countxt-param> <param-name> ContextConfigLocation </param-name> <param-value> classpath : application.xml </context-param> <lislest-param> <Leater-Class> com.web.springcontextloaderListener </Learger-Class> </liareer> </web-app>
四. 文件监测器
1. 接口 : filemonitor.class
import org.apache.commons.io.monitor.filealterationobserver;/** * 文件监测器角色 */public interface filemonitor {/** * 注册观察器 * @param 옵저버 观察器 */void addobserver (filealterationobserver); / ** * 删除观察器 * @Param Observer 观察器 */ void removeObserver (FilealterationObserver Observer); / ** * 获取注册的所有观察器 * @return 观察器集合 */ iterable <filealterationObserver> getObservers (); / ** * 启动监测器 */ void start (); / ** * 停止监测器 */ void stop (); / ** * 获取监测间隔时间 * @return 间隔时间 间隔时间 间隔时间 (单位 : 毫秒 毫秒) */ long getInterval (); }2. 实现类 : filemonitorimpl.class
import java.util.concurrent.threadfactory; import org.apache.commons.io.monitor.filealterationmonitor; import org.apache.commons.io.monitor.filealterationObserver; import org.apache.commons.lang3.concurrent.basicthreadfactory;/** * g, 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 监测时间间隔 gevally. Filemonitor {Private Final Filealterationmonitor Monitor; / ** * 监测器线程名称 */ 개인 정적 최종 문자열 모니터 모니터 _thread_name = "파일 모니터 데몬"; / ** * 监测器线程 데몬 */ 개인 정적 최종 부울 데몬 = 거짓; / ** * 定义监测时间间隔、文件观察器 * @param interval 监测时间间隔 * @param observer 文件观察者 */ filemonitorimpl (int interval, final filealterationobserverservers 옵저버) {this (간격, 관찰자, 새로운 Basicthreadfactory.builder (). namingpattern (monitor_thread_name) .Build (daemon). } / ** * * * @param interval 监测时间间隔 * @param observer 文件观察器 * @param factory 线程工厂 * / filemonitorimpl (int interval, final filealterationobserver 옵저버, 최종 스레드 Factory Factory) {this.monitor = new FillealterationMonitor (중간, 새로운 filealterationobserver [] {옵저버}); Monitor.SetThreadFactory (Factory); } / ** * * * @Param Observer * / @override public void addobserver (filealterationObserver 옵저버) {monitor.addoBserver (관찰자); } / ** * * * @Param Observer * / @Override public void removeObserver (FilealterationObserver Observer) {monitor.removeObserver (Observer); } / ** * * * @return * / @override public iterable <filealterationobserver> getObservers () {return monitor.getObservers (); } / ** * * * / @override public void start () {try {monitor.start (); } catch (예외 e) {e.printstacktrace (); }} / ** * 停止监测器 * / @override public void stop () {try {monitor.stop (); } catch (예외 e) {e.printstacktrace (); }} / ** * 获取监测时间间隔 * / @override public long getInterval () {return monitor.getInterVal (); }}五. 文件观察器
1. 接口 : FileObserver.class
import java.io.file; import org.apache.commons.io.monitor.filealterationListener;/** */public 인터페이스 FileObserver {/** * 添加监听器 * @Param AddListener (최종 FilealterationListener 리스너); / ** * 删除监听器 * @param 리스너 */ void removelistener (Final FilealterationListener 리스너); / ** * 获取注册的监听器 * @return */ iterable <filealterationListener> getListeners (); / ** * 初始化观察器 * @Throws Exception */ void initialize ()가 예외를 던집니다. / ** * 销毁观察器 * @Throws Exception */ void destroy () 예외가 발생합니다. / ** * 获取观察的目录 * @return */ file getDirectory (); / ** * * * * @return */ public filefilter getFilter ();}2. 实现类 : FileObserverimpl.class
import java.io.file; import java.io.ioexception; import org.apache.commons.io.fileutils; import org.apache.commons.io.iocase; import org.apache.commons.io.monitor.filealterationListener; import org.当有文件创建、删除、或变更动作时, 则消息通知监听器 */public class fileObserVerimpl 확장 FilealterationObserver 구현 FileObserver {private static final long serialversionuid = -7239227289538993830L; / ** * 文件过滤器 */ 개인 최종 파일 필터 필터; / ** * 设置要监听观察的目录 设置要监听观察的目录, 并设置文件过滤器和监听器 并设置文件过滤器和监听器 * 用以观察指定具有指定扩展名的文件 * @param dir 观察监听的目录 * @param 필터 文件过滤器 * @param 리스너 文件监听器 */ public fileObserverImpl (문자열 dir, 최종 파일 필터 필터, FileAlterationListener 리스너) {super (dir, filter, (iocase) null); AddListener (리스너); this.filter = 필터; 파일 디렉토리 = 새 파일 (dir); // 如果目录不存在 if (! directory.exists ()) {try {fileutils.forcemkdir (directory); } catch (ioexception e) {e.printstacktrace (); }} //} else if (directory.exists () && directory.isfile ()) {try {fileUtil.forcedElete (directory); FileUtils.forcemkdir (디렉토리); } catch (ioexception e) {e.printstacktrace (); }}}} / ** * 添加监听器 * / @override public void addlistener (Final FilealterationListener 리스너) {super.addlistener (리스너); } / ** * * * / @override public void removelistener (Final FilealterationListener 리스너) {super.removelistener (리스너); } / ** * * * / @override public iterable <filealterationlistener> getListeners () {return super.getListeners (); } / ** * * * / @override public void initialize ()는 예외 {super.initialize (); } / ** * * * / @override public void destroy () throws exception {super.destroy (); } / ** * * * / @override public file getDirectory () {return super.getDirectory (); } / ** * * * @return * / public filefilter getFilter () {return 필터; }}六. : fillelistener.class
import java.io.file; import org.apache.commons.io.monitor.filealterationlisteneradaptor; import org.apache.commons.commons.commons.io.monitor.filealterationobserver;/** */public class filelistener Extends FileLealterationListenerAdaptor {/** */ */@Override void void voide voide voide void voide 파일) {// 무언가를 할 일} / ** * 文件删除 文件删除 (转移 转移)) 时执行的动作 * / @override public void onfiledelete (파일 파일) {// something} / ** * / @override public void onfileChange (파일 파일) {// something} / ** / @overrrider (fileal on oneverver) {// 무언가를 할 일} / ** * 停止监听时执行的动作 * / @override public void onstop (filealterationobserver 옵저버) {// something}}}七. 文件过滤器
1. 接口 : filefilter.class
/** * 文件过滤器角色 文件过滤器角色 文件过滤器角色, 扩展自 java.io.filefilter */public interface filefilter는 java.io.filefilter를 확장합니다.
2. 实现类 : FileFilterImpl.class
가져 오기 java.io.file; import org.apache.commons.io.filenameutils;/** */public class filefilterimpl은 filefilter {private string [] 확장자; public filefilterimpl (문자열 ... 확장) {this.extensions = 확장; } / ** * * * / @override public boolean accept (파일 pathName) {return filenameUtils.isextension (pathName.getName (), 확장); } / ** * * * @return * / @override public string [] getextensions () {return eptensions; }}以上这篇 Java a (推荐) 就是小编分享给大家的全部内容了 就是小编分享给大家的全部内容了, 希望能给大家一个参考, 也希望大家多多支持武林网。 也希望大家多多支持武林网。