본문 바로가기
개발언어/C#

[C#] 파일 이름, 확장자, 크기(용량), 수정 일자, 속성 등 알아내기

by 창용이랑 2021. 1. 19.
728x90

C#에서 파일 이름, 확장자. 크기, 수정일자 등을 알아낼 수 있습니다.

 

1. 파일 이름, 확장자 출력

네임스페이스 using System.IO를 포함시켜줍니다. Path 클래스를 사용하면 아래 예제처럼 파일이름을 알 수 있습니다. 이외에도 Path에는 임시폴더를 만들거나 랜덤으로 이름과 확장자를 만들 수도 있습니다.

using System;
using System.IO;
 
namespace TEST
{
    class Program
    {
        static void Main(string[] args)
        {            
            string file = @"C:\test\aaa.txt";
            System.Console.WriteLine($"파일이름+확장자 : "
                             + Path.GetFileName(file));
            System.Console.WriteLine($"파일 이름 (확장자없이): " 
                             + Path.GetFileNameWithoutExtension(file));
            System.Console.WriteLine($"확장자 : " 
                             + Path.GetExtension(file));
        }
    }
}

- 출력결과 -

파일이름+확장자 : aaa.txt

파일 이름 (확장자없이): aaa

확장자 : .txt

 

 

 

2. 파일 크기, 접근 일자, 속성 등 출력

위의 예제와 마찬가지로 using System.IO를 포함시켜주어야 합니다.

FileInfo 를 이용해 정보를 얻어올 수 있습니다. 아래 예제와 같이 사용하면 됩니다. 

using System;
using System.IO;
 
namespace TEST
{
    class Program
    {
        static void Main(string[] args)
        {            
            string file = @"C:\test\aaa.txt";
            var info = new FileInfo(file);
            System.Console.WriteLine("파일 사이즈: " + info.Length+" Bytes");
            System.Console.WriteLine("생성 시간 : " + info.CreationTime);
            System.Console.WriteLine("수정 시간 : " + info.LastWriteTime);
            System.Console.WriteLine("접근 시간 : " + info.LastAccessTime);
            System.Console.WriteLine("읽기전용 파일 어부 : " + info.IsReadOnly);
            System.Console.WriteLine("디렉터리 이름 : " + info.DirectoryName);
            System.Console.WriteLine("파일 이름 : " + info.Name);
            System.Console.WriteLine("경로+파일 이름 : " + info.FullName);
        }
    }
}

- 출력결과 -

파일 사이즈: 50 Bytes

생성 시간 : 2018-06-25 오후 8:49:50

수정 시간 : 2018-07-05 오후 9:15:04

접근 시간 : 2018-06-25 오후 8:49:50

읽기전용 파일 어부 : False

디렉터리 이름 : C:\test

파일 이름 : aaa.txt

경로+파일 이름 : C:\test\aaa.txt