2013-10-17 3 views
3

C# 및 Mono를 사용하여 심볼릭 링크 및 파이프와 같은 특수 파일을 구별 할 수 있습니까?모노에서 심볼 링크 및 파이프 감지

응용 프로그램은 다중 플랫폼 백업 도구이므로 interop 라이브러리 또는 'C'dll을 사용하지 않고 직선적 인 관리 코드 솔루션을 찾으려합니다.

답변

2

좀 더 살펴보면서 해결책을 찾았습니다.

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: 
} 

위의 코드는 특정 파일의 범위를 식별하는 데 도움이됩니다. 모두 UnixFileInfoUnixDirectoryInfo 전에 테스트에 대한 심볼릭 링크를 해결하기 때문에

사용 UnixSymbolicLinkInfo 중요하다.