日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

FileSystemMap:与文件系统交互的自然方法

發布時間:2023/12/3 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FileSystemMap:与文件系统交互的自然方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作為項目的一部分,我目前正在研究創建FileSystemMap 。 我已經開始了一個非常小的GitHub的項目在這里舉辦的代碼。

本質上,此映射實現將允許用戶與其文件系統上的目錄進行交互,就好像它是java.util.Map 。 映射中的每個條目將是該目錄中的文件,鍵將是文件名,值將是文件的內容。

此代碼構建一個FileServiceMap并添加五個條目:

Map map = new FileSystemMap("/tmp/filetests");map.put("one", "one");map.put("two", "two");map.put("three", "three");map.put("four", "four");map.put("five", "five");

這將導致直接的結構如下:

/tmp/filetests/|----- five|----- four|----- one|----- three|----- two

添加和刪??除條目將更改目錄中的文件。 更改條目的值將導致使用新值作為內容重寫文件。 有關更多示例,請參見testMapMethods中的代碼。

此外, FileSystemMap已設計用于雙向交互。 對其進行的任何程序性更新都將反映在文件系統上,并且對文件系統的任何更新將由地圖拾取并作為事件觸發。

此代碼將更改注冊到文件系統并打印出來:

Map map = new FileSystemMap("/tmp/filetests"); map.registerForEvents(System.out::println);

這是一些示例輸出:

FPMEvent{eventType=NEW, programmatic=true, key='one', value='one'}

eventType是以下之一:

  • 新–文件已創建
  • 更新–文件已被修改
  • 刪除–文件已被刪除

編程標志指示是否觸發事件的是FileSystemMap本身。 例如,如果調用了put() ,將創建一個文件,該文件又將引發一個事件。 為了避免反饋,了解它是否是觸發事件的FileSystemMap上的操作可能很有用。

密鑰是已更改文件的名稱。

該值是與已更改文件關聯的最新值。 注意:這可能是也可能不是實際觸發更改的值 。 例如,如果條目有兩個非常快速的更改,則在第二次更新已經發生之后,第一個事件的值完全有可能會獲得該值。 例如

map.put("one", "1");map.put("one", "2");

可能產生以下輸出:

FPMEvent{eventType=NEW, programmatic=true, key='one', value='2'}

拾取了第一個事件(通過將“ one”設置為“ 1”觸發),但是在程序檢查文件內容時,文件已更改為“ 2”。 然后拾取第二個事件(通過將“ 1”設置為“ 2”來觸發),但是由于該值未更改,因此將其抑制。

一些注意事項:

  • 以“。”開頭的文件。 被忽略。 原因是許多編輯器(包括vi)創建的臨時文件不應由FileServiceMap拾取。
  • 如果查看代碼,您會注意到WatchService(自Java7開始)用于監視對文件系統的更改。 重要的是要了解WatchService是特定于操作系統的。 特別是在Mac OSX上,它不能很好地工作。 該主題討論了一些問題。 WatchService的更新速度很慢,可以丟棄快速流動的事件。 在我的測試中,Ubuntu的性能明顯優于MacOSX。 但是,如果您主要對手動執行的文件系統更改感興趣,那么Mac OSX也可以。
  • 映射僅支持字符串。
  • 不用說,此類是為特定的實用程序而不是任何性能而設計的。

    歡迎對該項目的所有貢獻!

    翻譯自: https://www.javacodegeeks.com/2015/04/filesystemmap-a-natural-way-to-interact-with-your-file-system.html

    總結

    以上是生活随笔為你收集整理的FileSystemMap:与文件系统交互的自然方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。