다음을 통해 공유


방법: Visual Basic에서 디렉터리가 읽기 전용인지 확인

업데이트: 2007년 11월

My.Computer.FileSystem.GetDirectoryInfo 메서드 메서드는 Attributes 속성이 있는 DirectoryInfo 개체를 반환하며, 이 속성을 쿼리하면 읽기 전용 여부를 포함하여 디렉터리에 대한 정보를 확인할 수 있습니다.

참고:

대화 상자에서 사용할 수 있는 옵션과 메뉴 명령의 이름 및 위치는 실제 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다. 이 도움말 페이지는 일반 개발 설정을 염두에 두고 작성되었습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

디렉터리가 읽기 전용인지 여부를 확인하려면

  1. GetDirectoryInfo 메서드를 사용하여 지정된 디렉터리의 DirectoryInfo 개체를 반환합니다. 이 예제에서는 TestDirectory 디렉터리에 대한 DirectoryInfo 개체를 반환합니다.

    Dim reader As System.IO.DirectoryInfo
    reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
    
  2. 개체의 Attributes 속성을 쿼리하여 읽기 전용 여부를 확인합니다.

    If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
        MsgBox("Directory is readonly!")
    End If
    

예제

위 코드 조각의 완전한 형태를 나타내는 다음 예제에서는 testDirectory 디렉터리가 읽기 전용인지 여부를 확인하고 그 결과를 메시지 상자에 보고합니다.

Dim reader As System.IO.DirectoryInfo
reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
    MsgBox("File is readonly!")
End If

코드 컴파일

디렉터리가 없는 경우 DirectoryInfo 개체의 속성에 처음 액세스하기 전에는 예외가 throw되지 않습니다.

강력한 프로그래밍

다음 조건에서 예외가 발생합니다.

  • 길이가 0인 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, \\.\로 시작하는 장치 경로와 같은 여러 가지 이유 중 하나로 경로가 올바르지 않은 경우(ArgumentException)

  • 경로가 Nothing이기 때문에 올바르지 않은 경우(ArgumentNullException)

  • 경로가 시스템 정의 최대 길이를 초과하는 경우(PathTooLongException)

  • 경로의 파일 이름이나 디렉터리 이름에 콜론(:)이 있거나 이름의 형식이 잘못된 경우(NotSupportedException)

  • 경로를 보는 데 필요한 권한이 사용자에게 없는 경우(SecurityException)

참고 항목

작업

방법: Visual Basic에서 디렉터리의 특성 확인

참조

My.Computer.FileSystem.GetDirectoryInfo 메서드