Home
C#
Get File Size (FileInfo Length)
Updated Sep 13, 2023
Dot Net Perls
FileInfo Length. FileInfo has a Length property. It returns the size of a file in bytes. We use FileInfo and the Length property to measure file sizes.
Notes, FileInfo. To get all FileInfos from a directory, we can use the GetFileSystemInfos method. This can make some file-handling code clearer.
FileInfo
An example. FileInfo is useful if your program modifies files, and you want to see how many bytes have been added or removed. The Length often can be safely cast to an int.
long, ulong
Part 1 The code creates a new FileInfo—this allows us to get the file size. We use the Length property and a long value.
Part 2 We print the size of the file with the Console.WriteLine method. The sizes are in bytes.
Console.WriteLine
byte, sbyte
Tip Make sure to update the path to a file that exists on your computer before running the program.
using System; using System.IO; const string fileName = @"C:\programs\file.txt"; // Part 1: create new FileInfo get Length. FileInfo info = new FileInfo(fileName); long length = info.Length; // Part 2: print length in bytes. Console.WriteLine("LENGTH IN BYTES: {0}", length);
LENGTH IN BYTES: 60
GetFileSystemInfos. We can get an array of FileSystemInfo and then get each individual FileInfo. We use the GetFileSystemInfos method.
Part 1 We get the info objects for the specified I rectory. We call GetFileSystemInfos.
Part 2 We loop over the objects and get each individual FileInfo and then access the Length. We sum these values and return the sum.
for
using System; using System.IO; class Program { static int GetDirectorySize(string path) { // Part 1: get info. DirectoryInfo directoryInfo = new DirectoryInfo(path); FileSystemInfo[] array = directoryInfo.GetFileSystemInfos(); // Part 2: sum all FileInfo Lengths. int sum = 0; for (int i = 0; i < array.Length; i++) { FileInfo fileInfo = array[i] as FileInfo; if (fileInfo != null) { sum += (int)fileInfo.Length; } } return sum; } public static void Main() { Console.WriteLine("SIZE: {0}", GetDirectorySize(@"C:\programs\")); } }
SIZE: 96035
Exceptions. It is common to have to handle exceptions when files are being used. They may be missing, corrupted or not accessible because of security issues.
Exception
try
catch
We retrieved the length of files using the FileInfo class and its Length property. This uses a long value and does not require you to read and process the entire file.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Sep 13, 2023 (edit).
Home
Changes
© 2007-2025 Sam Allen