This documentation is archived and is not being maintained.

FileInfo.Length Property

Gets the size, in bytes, of the current file.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

public long Length { get; }

Property Value

Type: System.Int64
The size of the current file in bytes.


Refresh cannot update the state of the file or directory.


The file does not exist.


The Length property is called for a directory.

When first called, FileInfo calls Refresh and caches information on the file. On subsequent calls, you must call Refresh to get the latest copy of the information.

For a list of common I/O tasks, see Common I/O Tasks.

The following example displays the size of the specified files.

// The following example displays the names and sizes 
// of the files in the specified directory. 
using System;
using System.IO;

public class FileLength
    public static void Main()
        // Make a reference to a directory.
        DirectoryInfo di = new DirectoryInfo("c:\\");
        // Get a reference to each file in that directory.
        FileInfo[] fiArr = di.GetFiles();
        // Display the names and sizes of the files.
        Console.WriteLine("The directory {0} contains the following files:", di.Name);
        foreach (FileInfo f in fiArr)
            Console.WriteLine("The size of {0} is {1} bytes.", f.Name, f.Length);
//This code produces output similar to the following;  
//results may vary based on the computer/file structure/etc.: 
//The directory c:\ contains the following files: 
//The size of MyComputer.log is 274 bytes. 
//The size of AUTOEXEC.BAT is 0 bytes. 
//The size of boot.ini is 211 bytes. 
//The size of CONFIG.SYS is 0 bytes. 
//The size of hiberfil.sys is 1072775168 bytes. 
//The size of IO.SYS is 0 bytes. 
//The size of MASK.txt is 2700 bytes. 
//The size of mfc80.dll is 1093632 bytes. 
//The size of mfc80u.dll is 1079808 bytes. 
//The size of MSDOS.SYS is 0 bytes. 
//The size of NTDETECT.COM is 47564 bytes. 
//The size of ntldr is 250032 bytes. 
//The size of pagefile.sys is 1610612736 bytes. 
//The size of UpdatePatch.log is 22778 bytes. 
//The size of UpdatePatch.txt is 30 bytes. 
//The size of wt3d.ini is 234 bytes.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0