3
有沒有辦法使用C#和Mono來區分象符號鏈接和管道這樣的特殊文件?檢測Mono中的符號鏈接和管道
該應用程序是一個多平臺的備份工具,所以我想避免使用互操作庫或'C'DLL,並尋找直接的託管代碼解決方案。
有沒有辦法使用C#和Mono來區分象符號鏈接和管道這樣的特殊文件?檢測Mono中的符號鏈接和管道
該應用程序是一個多平臺的備份工具,所以我想避免使用互操作庫或'C'DLL,並尋找直接的託管代碼解決方案。
經過深入挖掘,我發現了一個解決方案。
添加對的引用將Mono.Posix添加到項目中可以訪問某些Unix文件系統屬性。
Mono.Unix.UnixSymbolicLinkInfo i = new Mono.Unix.UnixSymbolicLinkInfo(path);
switch(i.FileType)
{
case FileTypes.SymbolicLink:
case FileTypes.Fifo:
case FileTypes.Socket:
case FileTypes.BlockDevice:
case FileTypes.CharacterDevice:
case FileTypes.Directory:
case FileTypes.RegularFile:
}
上述代碼有助於識別一系列特殊文件。
使用UnixSymbolicLinkInfo是重要的,因爲UnixFileInfo和UnixDirectoryInfo解決測試前的符號鏈接。