Sort files, size. Files have varying sizes. In VB.NET, we can use Directory.GetFiles and OrderByDescending along with the FileInfo type to sort them from largest to smallest.
With this function, we can determine the largest file in a directory. This may be the most important file. Alternatively, we can find the smallest file.
Example. We first invoke Directory.GetFiles, which returns a string array of the files in the directory. Next, we invoke the OrderByDescending method.
Imports System.IO
Module Module1
Sub Main()
' The target directory.
Dim dir As String = "C:\\programs"' Get files.
Dim files() As String = Directory.GetFiles(dir)
' Order files from largest size to smallest size.
Dim sorted() As String = files.OrderByDescending(
New Func(Of String, Integer)(Function(fn As String)
Return New FileInfo(fn).Length
End Function)).ToArray
' Loop and display files.
For Each element As String In sorted
Console.WriteLine(element)
Console.WriteLine(New FileInfo(element).Length)
Next
End Sub
End ModuleC:\\programs\file.py
611
C:\\programs\file.rb
369
C:\\programs\file.php
235
C:\\programs\file.pl
184
In the output, we see that the folder contains four script files. The largest is file.py—it is 611 bytes. The smallest meanwhile is file.pl which is 184 bytes.
Tip This program is inefficient. If you built a data structure (a List of KeyValuePairs) you could avoid accessing FileInfo so many times.
Summary. This program uses System.IO functions to get a file array and their sizes. And with OrderByDescending we specify a lambda expression (an anonymous method) to sort the file names.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Sep 25, 2022 (edit).