Getting Information About A File | CodeGuru

Getting Information About A File

This example presents the FileInfo class, which allows you to get information about a file. Listing 1 presents the FileInfo class in use. This program takes a single filename and displays the size and key dates regarding it. For the output, the FileSize.cs file was used. Listing 1. FileSize.cs — Using the FileInfo Class 1: […]

Written By
CodeGuru Staff
CodeGuru Staff
Mar 11, 2003
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

This example presents the FileInfo class, which allows you to get information about a file. Listing 1 presents the FileInfo class in use. This program takes a single filename and displays the size and key dates regarding it. For the output, the FileSize.cs file was used.

Listing 1. FileSize.cs — Using the FileInfo Class

 1: //  FileSize.cs -  
 2: //-----------------------------------------------
 3: using System;
 4: using System.IO;
 5:
 6: class FileSize
 7: {
 8:   public static void Main()
 9:   {
10:      string[] CLA = Environment.GetCommandLineArgs();
11:
12:      FileInfo fiExe = new FileInfo(CLA[0]);
13:
14:      if ( CLA.Length < 2 )
15:      {
16:          Console.WriteLine("Format: {0} filename", fiExe.Name);
17:      }
18:      else
19:      {
20:        try
21:        {
22:          FileInfo fiFile = new FileInfo(CLA[1]);
23:
24:          if(fiFile.Exists)
25:          {
26:            Console.WriteLine("===================================");
27:            Console.WriteLine("{0} - {1}",
                                      fiFile.Name, fiFile.Length );
28:            Console.WriteLine("===================================");
29:            Console.WriteLine("Last Access: {0}",
                                      fiFile.LastAccessTime);
30:            Console.WriteLine("Last Write:  {0}",
                                      fiFile.LastWriteTime);
31:            Console.WriteLine("Creation:    {0}",
                                      fiFile.CreationTime);
32:            Console.WriteLine("===================================");
33:          }
34:          else
35:          {
36:            Console.WriteLine("{0} doesn't exist!", fiFile.Name);
37:          }
38:       }
39:
40:       catch (System.IO.FileNotFoundException)
41:       {
42:         Console.WriteLine("n{0} does not exist!", CLA[1]);
43:         return;
44:       }
45:       catch (Exception e)
46:       {
47:         Console.WriteLine("nException thrown trying to copy file.");
48:         Console.WriteLine(e);
49:         return;
50:       }
51:     }
52:   }
53: }

The following is the output from this listing. Your output will vary depending on when you create the FileSize.cs program.

===================================
FileSize.cs - 1551
===================================
Last Access: 2/22/2003 11:40:30 PM
Last Write:  2/22/2003 11:40:19 PM
Creation:    2/22/2003 11:39:45 PM

The FileInfo class creates an object that is associated to a specific file. In line 12, a FileInfo object was created called fiExe that is associated to the program being executed (fileinfo.exe). If the user doesn't enter an argument on the command line, the value of fiExe is printed with program usage information (line 14).

In line 22, a second FileInfo object is created using the argument passed to the program. In lines 26 to 32, information is displayed about this file. As you can see, the information displayed includes the file size using the Length member, the creation date and time using the CreationTime member, the last access date and time using the LastAccessTime member, and finally the last date and time the file was written to using the LastWriteTime member.

For more information

For more information check out my C# book, Sams Teach Yourself C# in 21 Days.

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.