java web中监听本地磁盘文件,并进行上传,复制,处理等
来源:互联网 发布:淘宝收购饿了么 编辑:程序博客网 时间:2024/06/04 00:27
- 利用commons-io-2,5.jar实现对本地文件增删改的监听,代码如下:
/** * 监听文件及文件夹的变化 * @author han */ public class FileAlterationListen extends FileAlterationListenerAdaptor { public static String Reportname = "gsqxjb_risk_zyt_road";public static String FileLocaltion = File.separator+"static"+File.separator+"pdf"+File.separator; public File DirContext;public FileAlterationListen(File dirContext) {super();DirContext = dirContext;}//文件夹创建 @Override public void onDirectoryCreate(File directory) { System.out.println(directory.getName()+" directory Create"); } //文件夹改变 @Override public void onDirectoryChange(File directory) { System.out.println(directory.getName()+" directory Change"); } //文件夹删除 @Override public void onDirectoryDelete(File directory) { System.out.println(directory.getName()+" directory Delete"); } //文件创建 @Override public void onFileCreate(File file) { super.onFileCreate(file); System.out.println("file create"); traverseFolder2(DirContext.getPath(),file.getName()); } //文件夹改变 @Override public void onFileChange(File file) { super.onFileChange(file); System.out.println("file change"); traverseFolder2(DirContext.getPath(),file.getName()); } //文件删除 @Override public void onFileDelete(File file) { super.onFileDelete(file); System.out.println(file.getName()+" file Delete"); } public void traverseFolder2(String path,String fileName) {File file = new File(path);if (file.exists()) {File[] files = file.listFiles();if (files.length == 0) {return;} else {for (File file2 : files) {if (file2.isDirectory()) {traverseFolder2(file2.getAbsolutePath(),fileName);} else {if (fileName.equals(file2.getName())&&file2.getName().contains(Reportname)&&file2.getName().contains(".doc")) {String name = file2.getName().substring(0, file2.getName().length()-4);// 得到静态资源的相对地址String Apath = FileAlterationListen.class.getClassLoader().getResource("").getPath().split("WEB-INF")[0].replaceAll("/", "\\\\"),subPath=Apath.substring(1, Apath.length());File outFile = new File(subPath+FileLocaltion+name+".pdf"); WordToPdf(file2, outFile);}}}}} else {System.out.println("文件不存在!");} } }
- 实现ServletContextListen接口,当容器启动时自动启动监听,代码如下(可以传入相应参数):
public class FileSystemListen implements ServletContextListener {@Overridepublic void contextDestroyed(ServletContextEvent arg0) {}@Overridepublic void contextInitialized(ServletContextEvent arg0) { File dir = new File("D:/jt_products"); FileAlterationMonitor monitor = new FileAlterationMonitor(); IOFileFilter filter = FileFilterUtils.or(FileFilterUtils.directoryFileFilter(),FileFilterUtils.fileFileFilter()); FileAlterationObserver observer = new FileAlterationObserver(dir,filter); observer.addListener(new FileAlterationListen(dir)); monitor.addObserver(observer); try { //开始监听 monitor.start(); System.out.println("文件监听……"); } catch (Exception e) { e.printStackTrace(); } }}
- 在web.xml中配置监听器,将上述监听器添加如下,demo下载:
<listener><listener-class>com.fwzx.service.FileSystemListen</listener-class> </listener>
阅读全文
0 0
- java web中监听本地磁盘文件,并进行上传,复制,处理等
- java web 文件上传处理
- 使用java将数据库文件复制到本地磁盘中
- web项目中,jsp访问本地磁盘文件
- 远程桌面复制文件到本地磁盘
- java web上传文件至非项目路径并配置tomcat虚拟路径进行下载
- Java web中上传文件
- http获取网络资源文件等并保存到本地sd或者磁盘
- http获取网络资源文件等并保存到本地sd或者磁盘
- java上传文件到磁盘中,设置tomcat虚拟路径进行访问,解决重布项目图片消失问题
- java从本地读文件并上传Hbase
- JAVA监听磁盘文件状态的变化
- Java上传资源excel文件并进行解析
- 如何从本地磁盘中读取一个文件,进行判断每个字符有多少个
- Java web中上传文件的重命名
- Java Web中实现文件上传(一)
- jsp中利用cos进行web文件上传(修改版)
- jsp中利用cos进行web文件上传
- C# Aspose.Word 操作word文档【五】
- java开发/10.1-10.3/邓聪
- 柱状图,饼状图,报表插件
- [k8s]args指令案例-彻底理解docker entrypoint
- dfs学习之打家劫舍(3)
- java web中监听本地磁盘文件,并进行上传,复制,处理等
- java中的基本数据类型
- 余弦相似度与正规化的欧氏距离的某种等价性
- Hibernate 初始化:获取SessionFactory的各种方式
- 20171012 SQL语句JOIN关键字
- 自定义圆角ImageView
- 从头编写 asp.net core 2.0 web api 基础框架 (3)
- babyheap 2017漏洞分析
- tf.random_uniform的使用