머리말
C# 개발 중 파일의 전체 경로에서 파일명만 필요한 경우가 있으며 파일의 경로만 필요한 경우도 있다. C#에서는 파일명을 둘러싼 여러 가지 상황을 고려해서 유용한 함수를 제공한다. 본 포스팅에서는 파일명과 확장자, 파일 경로를 간단한 함수 호출만으로 확인할 수 있는 방법을 소개한다.
전체 경로 추출
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\Users\wookoa\Pictures\signature.png";
Console.WriteLine(System.IO.Path.GetFullPath(filePath));
}
}
}
파일명만 추출
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\Users\wookoa\Pictures\signature.png";
Console.WriteLine(System.IO.Path.GetFileNameWithoutExtension(filePath));
}
}
}
파일 확장자만 추출
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\Users\wookoa\Pictures\signature.png";
Console.WriteLine(System.IO.Path.GetExtension(filePath));
}
}
}
파일명과 확장자 추출
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\Users\wookoa\Pictures\signature.png";
Console.WriteLine(System.IO.Path.GetFileName(filePath));
}
}
}
파일 경로 추출
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\Users\wookoa\Pictures\signature.png";
Console.WriteLine(System.IO.Path.GetDirectoryName(filePath));
}
}
}
파일명과 확장자 추출
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\Users\wookoa\Pictures\signature.png";
Console.WriteLine(System.IO.Path.GetFileName(filePath));
}
}
}
파일명과 파일 경로 조합
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// 문자열 직접 입력
Console.WriteLine(System.IO.Path.Combine(
@"C:\Users\wookoa\Pictures",
"signature.png")
);
// 함수로 입력
string filePath = @"C:\Users\wookoa\Pictures\signature.png";
Console.WriteLine(System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(filePath),
System.IO.Path.GetFileName(filePath)
)
);
}
}
}
꼬리말
마지막의 파일명과 파일 경로의 조합에서 첫 번째 파라미터는 역슬러시가 마지막에 붙어도 지능적으로 잘 작동한다. 직접 문자열을 파싱해도 같은 결과를 얻을 수 있지만 제공되는 Path 클래스를 이용할 경우 오류가 발생할 확률을 조금 더 줄일 수 있다. 또한 가독성도 좋아서 매우 유용한 클래스다. C# 개발 언어에서 파일명과 관련된 함수에 대해서 소개한 본 포스팅을 이로써 마무리 짓도록 한다.
소중한 댓글 (0)