Reader Level:
Articles

How to get a file size in C#

By Mahesh Chand on July 14, 2012
How to get a file size in bytes using C# and .NET.
  • 1
  • 0
  • 51823

Get a file size

The Length property of the FileInfo class returns the size of a file in bytes. The following code snippet returns the size of a file.

// Get file size
long size = fi.Length;
Console.WriteLine("File Size in Bytes: {0}", size);

Sample

Here is a complete sample.

// Full file name 
string fileName = @"C:\Temp\MaheshTXFI.txt";
FileInfo fi = new FileInfo(fileName);

// Create a new file 
using (FileStream fs = fi.Create())
{
    Byte[] txt = new UTF8Encoding(true).GetBytes("New file.");
    fs.Write(txt, 0, txt.Length);
    Byte[] author = new UTF8Encoding(true).GetBytes("Author Mahesh Chand");
    fs.Write(author, 0, author.Length);
}

// Get File Name
string justFileName = fi.Name;
Console.WriteLine("File Name: {0}", justFileName);
// Get file name with full path 
string fullFileName = fi.FullName;
Console.WriteLine("File Name: {0}", fullFileName);
// Get file extension 
string extn = fi.Extension;
Console.WriteLine("File Extension: {0}", extn);
// Get directory name 
string directoryName = fi.DirectoryName;
Console.WriteLine("Directory Name: {0}", directoryName);
// File Exists ?
bool exists = fi.Exists;
Console.WriteLine("File Exists: {0}", exists);
if (fi.Exists)
{
    // Get file size
    long size = fi.Length;
    Console.WriteLine("File Size in Bytes: {0}", size);
    // File ReadOnly ?
    bool IsReadOnly = fi.IsReadOnly;
    Console.WriteLine("Is ReadOnly: {0}", IsReadOnly);
    // Creation, last access, and last write time 
    DateTime creationTime = fi.CreationTime;
    Console.WriteLine("Creation time: {0}", creationTime);
    DateTime accessTime = fi.LastAccessTime;
    Console.WriteLine("Last access time: {0}", accessTime);
    DateTime updatedTime = fi.LastWriteTime;
    Console.WriteLine("Last write time: {0}", updatedTime);
}     

Free Book

Download complete free book here: FileInfo in C#

Mahesh Chand

Mahesh Chand is founder of C# Corner. C# Corner founded in 1999 is a FREE member contributions based open platform for developers to solve problems, learn new technology and hang out.  Mahesh has been awar... Read more

COMMENT USING

Trending up