[C#] C #에서 파일 크기를 어떻게 얻습니까?

디스크 크기가 아닌 C #을 사용하여 파일 크기를 얻는 방법이 필요합니다. 이것이 어떻게 가능한지?

현재이 루프가 있습니다

foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
    //file.Length (will this work)
}

디스크의 크기 또는 크기를 반환합니까?



답변

FileInfo.Length 파일의 길이를 바이트 단위 (디스크의 크기가 아님)로 반환하므로 이것이 당신이 찾고있는 것입니다.


답변

입력으로 파일 경로가 이미있는 경우 필요한 코드입니다.

long length = new System.IO.FileInfo(path).Length;


답변

FileInfo.Length트릭을 수행합니다 (MSDN에서는 “현재 파일의 크기를 바이트 단위로 설정합니다.”) 일반적인 I / O 작업에 대한 MSDN 에는 멋진 페이지 가 있습니다 .


답변

MSDN FileInfo.Length 는 “현재 파일의 크기 (바이트)”라고 말합니다.

다음과 같은 일반적인 Google 검색은 msdn FileInfo입니다.


답변

파일 내용 길이를 반환합니다


답변

파일을 다른 파일 시스템 (FAT16, NTFS, EXT3 등)으로 이동하면 디스크 크기가 다를 수 있습니다.

다른 응답자가 말했듯이 디스크 크기가 아닌 바이트 크기를 제공합니다.


답변

FileInfo 클래스의 Length 속성은 파일 크기 (디스크의 크기가 아님)를 반환합니다. 긴 바이트 값 대신 형식이 지정된 파일 크기 (예 : 15KB)를 원한다면 CSInfopLib 를 사용할 수 있습니다 .이 패키지는 FileInfo 클래스에 더 많은 기능을 추가합니다. 예를 들면 다음과 같습니다.

using CSharpLib;
FileInfo info = new FileInfo("sample.txt");
Console.WriteLine(info.FormatBytes());  // Output: 15 MB