728x90
파일의 전체 경로를 가져왔을 때 파일명, 확장자, 경로, 디렉토리등을 따로 분리해서 사용하고 싶을 때가 있습니다.
▼ 저도 파일을 다루기 위해 파일명을 따로 분리해야 되고 확장자가 무엇이냐에 따라 별로 처리를 해야 됩니다. 일일이 문자를 쪼개서 구분하는 것이 아니라 Path 클래스로 간단하게 추출이 가능합니다.
1. 파일명을 추출하고 싶을 때
// 파일 명을 추출합니다.
string filepath = @"D:\다운로드\POP\Survive You.mp3";
Console.WriteLine(Path.GetFileName(filepath));
결과 : “Survive You.mp3”
2. 파일의 확장자를 가져오고 싶을 때
// . 을 포함한 확장자를 가져오고 싶을때
string filepath = @"D:\다운로드\POP\Survive You.mp3";
Console.WriteLine(Path.GetExtension(filepath));
결과 : “.mp3”
3. 파일의 확장자를 제외한 파일명을 가져오고 싶을 때
// 확장자가 없는 파일명을 가져오고 싶을때
string filepath = @"D:\다운로드\POP\Survive You.mp3";
Console.WriteLine(Path.GetFileNameWithoutExtension(filepath));
결과 : “Survive You”
4. 파일을 제외한 경로명만 가져오고 싶을때
// 파일을 제외한 경로명만 가져올때
string filepath = @"D:\다운로드\POP\Survive You.mp3";
Console.WriteLine(Path.GetDirectoryName(filepath));
결과 : “D:\다운로드\POP”
5. 파일과 경로를 합치고 싶을 때
▼ 파일과 경로를 분리해 놓고 다시 합치고 싶을 때 Path.Combine() 함수를 사용하시면 됩니다. 문자열을 합쳐도 되겠지만 Combine 을 사용하면 합칠 때 경로의 구분자인 역슬레쉬를 안넣어도 자동으로 알아서 추가해 줍니다.
// 파일을 제외한 경로명만 가져올때
string filepath = @"D:\다운로드\POP\Survive You.mp3";
Console.WriteLine(Path.Combine("D:\\다운로드\\POP", "Survive You.mp3"));
Console.WriteLine(Path.Combine("D:\\다운로드\\POP\\", "Survive You.mp3"));
결과 : “D:\다운로드\POP\Survive You.mp3”
“D:\다운로드\POP\Survive You.mp3”
'개발언어 > C#' 카테고리의 다른 글
[C#] 한글과 컴퓨터 hwp문서 불러오는 프로그램 만들기 (2) | 2022.09.16 |
---|---|
[C#] Thread 배열에 담아 다중 Thread 실행 해보기 (1) | 2022.09.01 |
[C#] List 사용법 정리 (0) | 2022.08.24 |
[C#] listview 마우스 끌어올때 (Drag & Drop) 놓을위치 표시 (0) | 2022.08.23 |
[C#] listview 예제 (0) | 2022.08.23 |