1. 程式人生 > >java 實現對檔案/資料夾的監控

java 實現對檔案/資料夾的監控

這個功能我使用的是commons.io裡面的東西做的,下載jar包
首先,建立一個FileListener

import java.io.File;

import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;

public class FileListener extends FileAlterationListenerAdaptor {

	@Override
	public void onFileChange(File file) {
		System.out.println("檔案"+file.getName()+"內容改變了");
	}

	@Override
	public void onFileCreate(File file) {
		System.out.println("檔案被建立了" + file.getName());
	}

	@Override
	public void onFileDelete(File file) {
		System.out.println("檔案被刪除了" + file.getName());
	}

}

然後建立一個測試類MainApp

import java.util.concurrent.TimeUnit;

import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;

public class MainApp {

	private static void FileListenerTest() throws Exception{
		String filePath = "E:\\Test\\";// 監控目錄
		long interval = TimeUnit.MILLISECONDS.toMillis(100);//設定間隔0.1秒
		FileAlterationObserver observer = new FileAlterationObserver(filePath);
		observer.addListener(new FileListener());//設定檔案變化監聽器
		FileAlterationMonitor monitor = new FileAlterationMonitor(interval, observer);//常見監聽
		monitor.start();//開始監聽
	}
	
	public static void main(String[] args) {
		new Thread(new Runnable() {
			
			@Override
			public void run() {
				try {
					System.out.println("開始監控檔案");
					FileListenerTest();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}).start();
	}
}

測試結果如下
在這裡插入圖片描述

相關推薦

java 實現檔案/資料監控

這個功能我使用的是commons.io裡面的東西做的,下載jar包 首先,建立一個FileListener import java.io.File; import org.apache.commons.io.monitor.FileAlterationList

IOS資料處理及版本特性-檔案,資料的操作

// //  ViewController.swift //  DemoApp // //  Created by 郭文亮 on 2018/11/19. //  Copyright © 2018年 finalliang. All rights reserv

java實現檔案的讀寫操作(按要求在檔案指定位置新增內容)

本問提到的讀檔案進行讀操作使用的是FileInputStream方法,寫操作使用的是FileOutputStream方法,將字元內容進行拼接主要使用的是str+"a"和StringBuffer方法.下面是一個指令碼檔案#!/bin/bash #下面設定輸入檔案,把使用者執行p

Java實現zip檔案壓縮(單個檔案資料以及檔案資料的組合壓縮)

Java實現zip檔案壓縮(單個檔案、資料夾以及檔案和資料夾的組合壓縮) 2016年10月04日 23:22:24 ljheee 閱讀數:13215 標籤: 壓縮javazip 更多 個人分類: Java應用 版權宣告:本文為博

java實現檔案資料壓縮

由於專案需要,所以在網上找了一下看看有沒有java的壓縮檔案的例子,結果找到了一個,可以作為工具類直接使用,現將它釋出出來 public class UtilZipFile { private File targetFile; public UtilZi

利用python實現 CAD STEP格式轉化為STL格式--update 整個資料下的所有檔案進行轉換格式

update # 匯入FreeCAD 路徑為FreeCAD安裝路徑,bin檔案裡有個檔案叫 FreeCad.pyd 這是關鍵 import sys sys.path.append('C:\\Software\\FreeCAD 0.17\\bin') import FreeC

Java檔案資料進行重新命名

                在Java中,對檔案或資料夾進行重新命名是很簡單的,因為Java的File類已經封裝好rename

java實現按照檔案的修改時間排序資料下的檔案

public int compare(Object o1, Object o2) { File file1 = (File)o1; File file2 = (F

java實現zip壓縮檔案/資料

import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.CRC

java遞迴實現複製一個資料下所有檔案的功能

今天開始學習java的IO,學了一個複製檔案的例子程式後想自己實現以下如何複製一個資料夾,複製檔案的例子程式如下: package io.github.liuzhan214; import java.io.File; import java.io.IOEx

Java與Python統計資料及子資料檔案個數

package dang; import java.io.File; /** * @ClassName: FileCount * @Description: TODO() * @author: dangjinhu * @date:

轉載:C#關閉檔案重定向,實現操作System32資料

我們已經知道:     ①:本機模式64位程式執行在純模式下,並且訪問鍵和儲存在以下注冊表子鍵中的值:HKEY_LOCAL_MACHINE \ Software     ②:32位程式執行在WOW64模式下,並且訪問鍵和值儲存在以下注冊表子項中:HKEY_LOCAL_MACHINE \ So

遞迴實現刪除某個資料下的所有檔案和目錄,包括刪除本身。

核心程式碼:     /***      * 刪除指定資料夾下所有檔案      *      * @param path   

vue專案中,如何static資料下的靜態檔案新增時間戳,以達到清除快取

例如config.js檔案是存放在static資料夾下,裡面存放的是websocket資訊,需要經常改動。改動了以後由於快取資訊,使其不生效,因此需要對引入的檔案新增時間戳。 方法如截圖所示: <script id="main"></script><script type="

OpenCV實現遍歷資料下所有檔案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Python實現Windows和Linux之間互相傳輸檔案(資料)的方法

   專案中需要從Windows系統傳輸ISO檔案到Linux測試系統,然後再Linux測試系統裡安裝這個ISO檔案。所以就需要實現如何把檔案從Windows系統傳輸到Linux系統中。 在專案中使用了pscp.exe這個工具,只要按照pscp.exe的使用說明操作即可。只要進入pscp.exe的安裝位置

Java之DOM4J解析XML 實現 XML檔案資料的增刪改查方法

下面是我的Persons.xml檔案資料 <?xml version="1.0" encoding="utf-8"?> <persons> <person id="0"> <name>翠花</name>

Python3實現批量讀取資料中docx檔案,計算表格數量

最近在做學校的srt,需要資料清洗,清洗後的word裡面有6張表格,為了判斷word裡面是否都有6張表格,寫了段python程式碼來判斷。   能實現批量讀取某個資料夾內的所有docx檔案,然後計算docx裡的表格數量。   import os import d

Node.js使用遞迴實現遍歷資料中所有檔案

https://blog.csdn.net/younglao/article/details/77046830?locationNum=8&fps=1 版權宣告:本文為博主原創文章,未經博主允許不得轉載。    https://blog.csdn.net/y

Java 實現數碼相機 RAW 格式資料進行解碼獲取影象資訊

我以前做的軟體裡有一個功能,需要根據使用者選擇的不同曝光、白平衡值從 RAW 格式檔案裡取得不同的影象。那款軟體的開發主要使用 Java 技術,但是當時這個功能是通過 JNI 呼叫 C++ 寫的一個庫實現的。因為在 Mac OS X 系統下使用 JNI 遇到的一系列問題,後