VB.NET File Size

Directory, package

FileInfo can return the file size. We create a new FileInfo instance with a file name. We then access the Length property to get a byte size of the file. This value is a Long, but can usually be converted safely to an Integer.

Integer

Example

Note

First, to begin using the FileInfo type, it helps to include the System.IO namespace at the top using the "Imports System.IO" directive. In this example, we first construct the FileInfo instance by passing a file name to its constructor.

Tip:If the specified file does not exist, you will need to create it outside of the code to run the example.

Once you obtain the FileInfo instance, you can access the Length property. The Length property tells you how many bytes are in the file. Here, we append to the file and then measure its size after the append operation.

Program that uses Length and FileInfo: VB.NET

Imports System.IO

Module Module1

    Sub Main()
	' Get file info for test.txt.
	' ... Create this file in Visual Studio and select Copy If Newer on its properties.
	Dim info As New FileInfo("test.txt")

	' Get length of the file.
	Dim length As Long = info.Length

	' Add more characters to the file.
	File.AppendAllText("test.txt", " More characters.")

	' Get another file info.
	' ... Then get the length.
	Dim info2 As New FileInfo("test.txt")
	Dim length2 As Long = info2.Length

	' Show how the size changed.
	Console.WriteLine("Before and after: {0}, {1}", length, length2)
	Console.WriteLine("Size increase: {0}", length2 - length)
    End Sub

End Module

Output
    (Will change each run.)

Before and after: 3, 20
Size increase: 17
The VB.NET programming language

The program shows that the initial file was only three bytes in length, while the file after the append operation was 20 bytes, meaning the file increased in size by 17 bytes. This indicates that the Length differential is correct.

Summary

Note

We looked at how you can obtain the size of a file using the VB.NET programming language. Further, we demonstrated how this measurement changes as the file is mutated on the disk.

Review:FileInfo is useful for acquiring file sizes. It does not require cumbersome loops or string conversions.


VB.NET: File