C#/파일 처리
C#에서 파일 경로 이름 처리
밍투민
2021. 8. 29. 22:28
1. 경로 이름을 구성 요소로 분할하는 방법
Path 클래스에 있는 정적 메서드를 사용하면 파일 이름을 구성 요소로 분할할 수 있다.
var path = @”C:\Program Files\Microsoft Office\Office16\EXCEL.EXE”;
//지정한 경로 문자열에서 디렉터리 정보를 반환
//반환된 경로에는 경로의 마지막에 있는 ‘\’가 포함되지 않는다.
var directoryName = Path.GetDirectoryName(path);
//지정한 경로 문자열에서 파일 이름과 확장자를 반환
var fileName = Path.GetFileName(path);
//지정한 경로 문자열의 확장자를 반환
//반환된 경로의 확장자에는 점(.)이 포함된다
var extension = Path.GetExtension(path);
//지정한 경로 문자열에서 파일 이름을 확장자 없이 반환
var filenameWithoutExtension = Path.GetFileNameWithoutExtension(path);
//지정한 경로에서 루트 디렉터리 정보(예 : “C:\”)를 구한다.
var pathRoot = Path.GetPathRoot(path);
2. 상대 경로로부터 절대 경로를 구하는 방법
상대 경로로부터 절대 경로를 구하려면 Path 클래스에 있는 GetFullPath라는 정적 메서드를 사용한다.
var fullPath = Path.GetFullPath(@”..\Example.txt”);
3. 경로를 구성하는 방법
디렉터리 이름과 파일 이름을 결합해서 경로를 구성하려면 Path 클래스에 있는 Combine이라는 정적 메서드를 사용한다.
var dir = @”C:\Example\Temp”;
var fileName = “Sample.txt”
var path = Path.Combine(dir, fileName);
이 코드를 실행하면 path에 다음과 같은 문자열이 대입된다.
”C:\Example\Temp\Greeting.txt”
Path.Combine 메서드를 사용하면 디렉터리 이름의 끝이 ‘\’로 끝나든 그렇지 않든 적절하게 경로가 구성된다.
여러 개의 인수를 지정해서 경로를 구성할 수도 있다.
var topdir = @”C:\Example\”;
var subdir = @”Temp”;
var fileName = “Sample.txt”;
var path = Path.Combine(topdir, subdir, fileName);