- 浏览: 408119 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
u011073441:
如何才能知道,我的安卓设备连接的是什么接口?android 设 ...
Android串口操作,简化android-serialport-api的demo -
sinat_31332985:
大神请问一下,在真机测试中,我没有串口设备,然后我设置dev/ ...
Android串口操作,简化android-serialport-api的demo -
骑着蜗牛狂奔:
在调用close的时候,出现了这个JNI WARNING: J ...
Android串口操作,简化android-serialport-api的demo -
l475334176:
怎么对多个串口进行监听额? 就是同时接受或者发送数据给多个串 ...
Android串口操作,简化android-serialport-api的demo -
冰雨的日子:
你好,我执行su.getOutputStream().writ ...
Android串口操作,简化android-serialport-api的demo
import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.Reader; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * 监听文件目录的变化 * @author liupengchao * */ public class DirMonitor implements Runnable { /** * just for test * * @param args */ public static void main(String[] args) { DirMonitor dirMonitor = new DirMonitor("C:\\lpc", 1); dirMonitor.run(); } /** * 监控的文件路径 */ private String dir; /** * 原有文件信息 */ private Map<String, String> oldDirFileMap; /** * 扫描间隔时间以秒为单位 */ private int period; /** * 初始化相关数据 */ public DirMonitor(String dir, int period) { this.dir = dir; this.period = period; this.oldDirFileMap = new HashMap<String, String>(); } /** * 展示原有文件 */ private void displayNowFile() { System.out.println(dir + "路径原有文件目录如下:\n"); Set set = oldDirFileMap.keySet(); Iterator<String> iterator = set.iterator(); while (iterator.hasNext()) { System.out.println(oldDirFileMap.get(iterator.next())); } System.out.println("========================================"); } /** * 得到增加的文件及文件夹,并增加到已有的文件信息中 */ private void getAddedFile(Map<String, String> nowDirFileMap) { for (Iterator<String> iterator = nowDirFileMap.keySet().iterator(); iterator.hasNext();) { String key = iterator.next(); if (null == oldDirFileMap.get(key)) { oldDirFileMap.put(key, nowDirFileMap.get(key)); System.out.println("新增" + nowDirFileMap.get(key)+"---"+key); File file = new File(nowDirFileMap.get(key)); Reader reader = null; try { System.out.println("读取的文件内容:"); // 一次读一个字符 reader = new InputStreamReader(new FileInputStream(file)); int tempchar; while ((tempchar = reader.read()) != -1) { // 对于windows下,\r\n这两个字符在一起时,表示一个换行。 // 但如果这两个字符分开显示时,会换两次行。 // 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。 if (((char) tempchar) != '\r') { System.out.print((char) tempchar); } } reader.close(); } catch (Exception e) { e.printStackTrace(); } } } } /** * 得到删除的文件及文件夹,并删除已经不存在的文件信息 */ private void getDeletedFile(Map<String, String> nowDirFileMap) { for (Iterator<String> iterator = oldDirFileMap.keySet().iterator(); iterator.hasNext();) { String key = iterator.next(); if (null == nowDirFileMap.get(key)) { System.out.println("删除" + oldDirFileMap.get(key)); iterator.remove(); oldDirFileMap.remove(key); } } } /** * 线程的执行。对于修改文件的情况,则视为删除与增加两个操作。 */ public void run() { boolean isError = false; File file = new File(dir); // 初始化开始监控时的文件路径状态 totalScan(file, oldDirFileMap); // 展示原有路径下的文件信息 displayNowFile(); while (!isError) { try { Thread.sleep(period * 1000); // 指定时间间间隔后扫描路径 Map<String, String> nowDirFileMap = new HashMap<String, String>(); totalScan(file, nowDirFileMap); // 得到删除的文件及文件夹 getDeletedFile(nowDirFileMap); // 得到新增的文件及文件夹 getAddedFile(nowDirFileMap); // 注意:由于涉及到修改,所以一定要先检测删除的文件,然后再检测新增加的文件 } catch (InterruptedException e) { System.out.println("对指定的文件路径进行监控时产生异常,异常信息为:" + e.getMessage()); isError = true; } } } /** * 递归扫描整个路径 * * @param dir * @param ndir * @param dirFileMap * 存放扫描结果 */ private void totalScan(File file, Map<String, String> dirFileMap) { String[] fileList = file.list(); // 判断是否为空目录 if (null != fileList) { for (int i = 0; i < fileList.length; i++) { String pname =file.getAbsolutePath() + "\\" + fileList[i]; // System.out.println("pname------->"+pname); File tempFile = new File(pname); if (tempFile.isDirectory()) { dirFileMap.put(pname,pname); totalScan(tempFile, dirFileMap); } else { // 不相同的文件夹下,存放的文件可能名字相同,但是同一路径下的文件肯定不会相同, // 所以采用全路径做为key值 dirFileMap.put(pname, pname); } } } } }
发表评论
-
Android串口操作,简化android-serialport-api的demo
2014-07-28 14:29 75030最近在做android串口的开发,找到一个开源的串口类a ... -
myeclipse 模板注释
2013-07-03 22:33 1047当然!在一个项目的完整的生命周期中,其维护费用,往往是其开发 ... -
WebLogic 应用访问
2013-03-21 09:01 1149今天试了一下,在WebLogic上部署好一个应用 ... -
使用POI读取excel文件内容
2013-03-11 09:58 11111.前言 项目中要求读 ... -
CSS兼容性技巧整理从IE6-IE9 火狐谷歌浏览器兼容
2012-10-23 13:40 1017CSS样式表对浏览器的兼容性问题有时让人很头疼,不过当我们了解 ... -
关于IE和火狐浏览器样式不兼容的一些总结
2012-10-23 12:30 1396什么是浏览器兼容:当我们使用不同的浏览器(Firefox ... -
C3po连接池
2012-06-27 15:23 15629driverClass=com.mysql.jdbc.Driv ... -
使用Struts的Token机制解决表单的重复提交
2012-06-27 10:33 1144Struts的Token(令牌)机制能够很好的解决表 ... -
JAVA 7种方法获取Properties的值
2012-06-25 15:11 2636package com.lpc.util; import ... -
Java中getResourceAsStream的用法
2012-06-25 14:55 925首先,Java中的getResourceAsStream有以下 ... -
连接池参数测试结果分析
2012-06-25 11:28 1865连接池属性测试 1.initial ... -
DBCP连接池配置参数说明及优化
2012-06-21 10:14 18232在配置DBCP连接池时,主 ... -
JAVA泛型实体集合转xml .
2012-06-19 11:32 3366public static String beanListTo ... -
Java常用工具类,拼接XML格式的字符串
2012-06-18 14:33 2190import java.util.ArrayList; im ... -
Java 常用的工具接口包括文件压缩,解压缩,IP转换,文件删除(解决中文问题) .
2012-06-18 14:32 1119import java.io.BufferedInputStr ... -
Java读取Properties文件的六种方法
2012-06-08 16:04 5971。使用java.util.Properties类的load( ... -
java dbcp 配置
2012-03-30 13:32 1742package com.mengya.ConnUtil; ... -
对BigDecimal常用方法的归类
2012-02-26 16:02 933package com.org.assistant.util; ... -
关于HTML中的滚动条/去掉滚动条
2012-02-08 14:29 16071.xhtml下滚动条的颜 ... -
java堆栈 (转)
2011-12-07 21:38 968Java栈与堆 ----对这 ...
相关推荐
Java实现实时监控目录下文件变化的方法 Java实现实时监控目录下文件变化的方法是指通过Java语言来实现实时监控目录下文件的变化情况,包括文件的创建、删除、修改等操作。这种方法可以应用于各种场景,例如文件系统...
一旦检测到文件变化,你可以执行相应的处理逻辑,例如将新创建或修改的文件上传到服务器。 接下来,我们讨论“模拟POST提交文件流同步服务器文件”。在Java中,可以使用`java.net.HttpURLConnection`或第三方库如...
在Java编程中,监测文件变化是一项重要的功能,特别是在开发日志系统、自动化构建工具或实时数据处理应用时。本文将详细讲解如何使用Java实现文件变化的监控,并通过一个具体的示例来阐述相关知识点。 首先,Java中...
用java语言编写的ftp小工具,可以按指定时间监控ftp服务器,把服务器指定目录内新产生的文件或者文件夹下载到本地指定文件夹,下载后删除数据。 也可以监控本地文件夹,把文件夹内新产生的文件或者文件夹整体上传到...
在IT领域,尤其是在系统管理和自动化任务执行中,有时我们需要实时监控某个目录下的文件变化,并在文件发生变动时执行特定操作,如复制文件到其他位置。这个场景可以通过编程实现,常用的编程语言如Python、Java或C#...
本文将通过一个示例介绍如何使用Java的WatchService来监听文件变化。 首先,需要注意的是,WatchService仅能对目录进行监视,而不能对文件进行监视。在开始编写代码之前,我们需要确定一个目录的路径来作为监听的...
在Java编程中,读取项目中的文件,特别是位于`src`目录下的文件,是一个常见的需求。这涉及到对项目结构的理解和使用Java I/O流的知识。`src`目录通常包含源代码文件,而运行时,这些文件会被编译并放置到类路径...
标题 "Java写的简单文件目录监控程序" 涉及到的是使用Java编程语言实现一个能够监控文件目录变化的工具。这种程序通常用于自动化任务,比如当文件或目录发生变化时自动执行某些操作,如备份、同步或者日志记录。在...
除了编程实现外,还有一些图形界面工具和命令行工具可以用于文件变化监控,比如`fswatch`(跨平台)、`tail`命令的 `-f`选项(实时追踪文件追加内容)等。 六、应用场景 1. 日志分析:实时查看日志文件的新增内容,...
总的来说,"spring boot文件夹文件监听程序"是一个结合了Java文件系统监听和Spring Boot自动化功能的实用工具,它可以实时监控指定目录,及时响应文件变化,对于文件管理、数据同步等场景具有很高的价值。...
在Android平台上,开发Java应用程序时,我们经常需要处理与文件系统相关的任务,其中之一就是实现文件监听器。这个功能允许我们实时监控一个特定的文件夹,一旦该文件夹中有新的文件出现,程序可以立即做出响应,...
在本话题中,我们将深入探讨“eclipse插件,打开java文件目录”这一主题。 首先,了解Eclipse插件的基本概念。Eclipse作为一个开放平台,其核心架构允许开发者创建和集成自定义工具,这些工具就是我们所说的插件。...
Java文件监控是一个重要的功能,它允许程序实时检测文件或目录的改变,如创建、修改、删除等事件。在Java中实现文件监控,可以利用JNotify库,这是一个强大的文件系统变动通知库,支持Windows、Linux和Mac OS X操作...
Java目录监视器是一个基于Java编程语言实现的小型实用工具,其主要功能是实时监控指定的文件目录,并在每次扫描间隔(如5秒)后报告目录内文件大小的变化以及文件数量的增减。这个应用程序对于开发者来说非常有用,...
- Java 7引入了`java.nio.file.FileSystemObserver`接口,可以监听文件系统的变化,如文件创建、删除、移动等事件。 6. **路径操作**: - `getParent()`和`getName()`方法用于获取路径的父路径和最后一个元素。 ...
在Java编程环境中,实现Windows文件系统的操作监控是一个有趣且实用的技术挑战。这涉及到对系统底层事件的捕获,通常需要借助于系统钩子(System Hooks)的概念。在Java中,虽然原生支持并不完善,但我们可以通过...
【Java文件同步开源项目Sync】是一个基于Java语言开发的实用工具,主要目的是提供高效、可靠的文件和目录同步功能。这个开源项目为开发者提供了一个简单易用的命令行接口,允许用户方便地对本地或远程文件系统进行...
在提供的文件列表中,`FileMd5Demo.iml`是IntelliJ IDEA项目文件,`.idea`目录包含项目配置信息,`src`目录通常存放源代码,而`out`目录则是编译后的输出目录。如果你在项目中找到了名为`FileMd5Demo.java`的源文件...
Java 使用线程监控文件目录变化的实现方法 Java 使用线程监控文件目录变化的实现方法是指通过 Java 语言实现对文件目录的实时监控,以便及时检测文件的变化情况。本文将详细介绍 Java 使用线程监控文件目录变化的...
在Java编程中,有时我们需要监控某个目录的变化,例如文件的添加、删除或修改。这个功能在文件上传、日志监控、实时数据处理等场景中非常有用。`JAVA 监听目录改变`是一个实用的技术,它涉及到Java的I/O操作和事件...