[英]Detecting symbolic links and pipes in Mono
有沒有辦法區分使用C#和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在測試之前解析了符號鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.