Path 클래스

2013-12-13

파일이나 디렉터리 경로 정보를 포함하는 String 인스턴스에 대한 작업을 수행합니다. 이러한 작업은 플랫폼 간에 호환되는 방식으로 수행됩니다.

Namespace:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

public static class Path

Path 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드정적 멤버ChangeExtension경로 문자열의 확장명을 변경합니다.
Public 메서드정적 멤버Combine(String[])문자열 배열을 한 경로로 결합합니다.
Public 메서드정적 멤버Combine(String, String)두 경로 문자열을 결합합니다.
Public 메서드정적 멤버GetDirectoryName지정된 경로 문자열에 대한 디렉터리 정보를 반환합니다.
Public 메서드정적 멤버GetExtension지정된 경로 문자열에서 확장명을 반환합니다.
Public 메서드정적 멤버GetFileName지정된 경로 문자열에서 파일 이름과 확장명을 반환합니다.
Public 메서드정적 멤버GetFileNameWithoutExtension확장명 없이 지정된 경로 문자열의 파일 이름을 반환합니다.
Public 메서드정적 멤버GetFullPath지정된 경로 문자열에 대한 절대 경로를 반환합니다.
Public 메서드정적 멤버GetInvalidFileNameChars파일 이름에 사용할 수 없는 문자가 들어 있는 배열을 가져옵니다.
Public 메서드정적 멤버GetInvalidPathChars경로 이름에 사용할 수 없는 문자가 들어 있는 배열을 가져옵니다.
Public 메서드정적 멤버GetPathRoot지정된 경로의 루트 디렉터리 정보를 가져옵니다.
Public 메서드정적 멤버GetRandomFileName임의의 폴더 이름 또는 파일 이름을 반환합니다.
Public 메서드정적 멤버GetTempFileName디스크에 크기가 0바이트인 고유한 이름의 임시 파일을 만들고 해당 파일의 전체 경로를 반환합니다.
Public 메서드정적 멤버GetTempPath현재 시스템의 임시 폴더 경로를 반환합니다.
Public 메서드정적 멤버HasExtension경로에 파일 확장명이 포함되어 있는지 여부를 확인합니다.
Public 메서드정적 멤버IsPathRooted지정된 경로 문자열에 루트가 포함되어 있는지 여부를 나타내는 값을 가져옵니다.
맨 위

  이름설명
Public 필드정적 멤버AltDirectorySeparatorChar계층적 파일 시스템 구조를 반영하는 경로 문자열에서 디렉터리 수준을 구분하는 데 사용되는 플랫폼 특정 대체 문자를 제공합니다.
Public 필드정적 멤버DirectorySeparatorChar계층적 파일 시스템 구조를 반영하는 경로 문자열에서 디렉터리 수준을 구분하는 데 사용되는 플랫폼 특정 문자를 제공합니다.
Public 필드정적 멤버PathSeparator환경 변수에서 경로 문자열을 구분하는 데 사용되는 플랫폼 특정 구분 문자입니다.
Public 필드정적 멤버VolumeSeparatorChar플랫폼 특정 볼륨 구분 문자를 제공합니다.
맨 위

경로에는 격리된 저장소의 상대 위치나 절대 위치 정보가 포함될 수 있습니다. 절대 경로는 위치를 완전히 지정하므로, 현재 위치에 관계없이 파일 또는 디렉터리를 고유하게 식별할 수 있습니다. 상대 경로는 부분 위치를 지정하므로, 상대 경로를 사용하여 지정된 파일을 찾을 때 현재 위치가 시작 지점으로 사용됩니다.

Path 클래스의 멤버는 대부분 파일 시스템과 상호 작용하지 않으며 경로 문자열로 지정된 파일이 존재하는지 여부를 확인하지 않습니다. ChangeExtension처럼 경로 문자열을 수정하는 Path 클래스 멤버는 파일 시스템의 파일 이름에 영향을 미치지 않습니다. 하지만 Path 멤버는 지정된 경로 문자열의 내용에 대한 유효성을 검사하여 경로 문자열에 유효하지 않은 문자가 들어 있는 경우 ArgumentException을 발생시킵니다. 예를 들어, Windows 기반 데스크톱 플랫폼에서는 경로 문자에 따옴표("), 보다 작음(<), 보다 큼(>), 파이프(|), 백스페이스(\b), null(\0) 및 유니코드 문자 16 ~ 18, 20 ~ 25를 사용할 수 없습니다.

Path 클래스의 멤버를 사용하면 확장명이 경로의 일부인지 확인하고, 두 문자열을 한 경로 이름으로 합치는 등의 일반적인 작업을 빠르고 쉽게 수행할 수 있습니다.

Path 클래스의 모든 멤버는 정적이므로 경로 인스턴스 없이도 호출할 수 있습니다.

참고참고:

입력 문자열로 경로를 받아들이는 멤버의 경우 해당 경로는 제대로 구성되어야 합니다. 그렇지 않으면 예외가 발생합니다. 예를 들어, 경로가 정규화된 경로이지만 공백으로 시작하면 클래스의 메서드에서 경로가 트리밍되지 않습니다. 따라서 경로가 잘못되고 예외가 발생합니다. 마찬가지로 경로나 경로 조합은 두 번 정규화될 수 없습니다. 경로 문자열이 적용되는 메서드를 사용할 경우 해당 경로가 제대로 구성되었는지 확인해야 합니다.

경로가 적용되는 멤버에서 경로는 파일이나 디렉터리를 참조할 수 있습니다.

이러한 모든 작업은 문자열에서 수행되기 때문에 모든 경우에 결과가 유효한지 확인할 수 있는 것은 아닙니다. 예를 들어, GetExtension 메서드는 전달된 문자열을 구문 분석하여 해당 문자열에서 확장명을 반환합니다. 하지만 확장명이 반환된다고 해서 해당 확장명의 파일이 디스크에 있다는 의미는 아닙니다.

다음 예제에서는 격리된 저장소에서 디렉터리를 만들기 위해 디렉터리 및 하위 디렉터리 이름을 경로에 결합합니다. 이 예제는 IsolatedStorageFile 클래스에 대해 제공되는 보다 큰 예제의 일부입니다.


// Create three subdirectories under MyApp1.
string subdirectory1 = Path.Combine("MyApp1", "SubDir1");
string subdirectory2 = Path.Combine("MyApp1", "SubDir2");
string subdirectory3 = Path.Combine("MyApp1", "SubDir3");
store.CreateDirectory(subdirectory1);
store.CreateDirectory(subdirectory2);
store.CreateDirectory(subdirectory3);


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다.

표시:
© 2014 Microsoft