[英]Getting a MacOS folder/file ID C#
編輯:我剛剛讀到,Microsoft產品在保存時經常刪除並創建一個新文件,因此我們可能需要一種與下面完全不同的解決方案...
我正在編寫一些代碼以在我的應用程序運行時跟蹤Windows和Mac上的文件和文件夾更改,但是如果未運行,它還需要檢測更改。
我可以使用以下信息在Windows上通過獲取文件夾和文件ID來做到這一點:
現在,我需要適用於Mac的解決方案,但是在搜索之后,我有點空白了。 我找不到有關系統范圍文件夾/文件ID的任何信息。 我最接近解決方案的地方是使用某種書簽,該書簽可以如下所述跟蹤文件,但是我還沒有開始:
似乎我必須將這些書簽存儲為Alias文件,以便在程序啟動時重新調用。
在Mac上使用C#獲取全局文件/文件夾ID是否還有其他選擇?
您可以使用NSFileManager.GetAttributes
來獲取文件的“ NSFileManager.GetAttributes
節點”(正如Jason的注釋所指出的那樣)
注意:如果跨卷移動inode,當然,如果編輯文件的程序執行delete和recreate而不是replace等操作,則inode會改變。
var ns = NSFileManager.DefaultManager;
var attribs = ns.GetAttributes("/Users/sushi/Desktop/foo.txt");
Console.WriteLine(attribs.SystemFileNumber);
File.Move("/Users/sushi/Desktop/foo.txt", "/Users/sushi/Desktop/foo2.txt");
var attribs2 = ns.GetAttributes("/Users/sushi/Desktop/foo2.txt");
Console.WriteLine(attribs2.SystemFileNumber);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.