FileSys
This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.
INFO
This class is static.
Compatibility
The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:
| Package/Platform | Windows | macOS | Linux + others |
|---|---|---|---|
| Env | ✅ | ✅ | ✅ |
| Framework | .NET 6 | .NET 7 | .NET 8 |
| Env | ✅ | ✅ | ✅ |
WARNING
Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.
Methods
GetAvailableSpace(drive, unit)
Definition
Gets the amount of available storage on a specified drive. It returns double.
Arguments
| Type | Name | Meaning |
|---|---|---|
string | drive | The drive letter or name to get the amount of available space. |
StorageUnits | unit | The unit of the returned result. |
Usage
using PeyrSharp.Enums;
using PeyrSharp.Env;
double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);GetAvailableSpace(driveInfo, unit)
Definition
Gets the amount of available storage on a specified drive. It returns double.
Arguments
| Type | Name | Meaning |
|---|---|---|
DriveInfo | driveInfo | The DriveInfo object to get the amount of available space. |
StorageUnits | unit | The unit of the returned result. |
Usage
using PeyrSharp.Enums;
using PeyrSharp.Env;
double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);GetOccupiedSpace(drive, unit)
Definition
Gets the amount of occupied storage on a specified drive. It returns double.
Arguments
| Type | Name | Meaning |
|---|---|---|
string | drive | The drive letter or name to get the amount of occupied space. |
StorageUnits | unit | The unit of the returned result. |
Usage
using PeyrSharp.Enums;
using PeyrSharp.Env;
double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);GetOccupiedSpace(driveInfo, unit)
Definition
Gets the amount of occupied storage on a specified drive. It returns double.
Arguments
| Type | Name | Meaning |
|---|---|---|
DriveInfo | driveInfo | The DriveInfo object to get the amount of occupied space. |
StorageUnits | unit | The unit of the returned result. |
Usage
using PeyrSharp.Enums;
using PeyrSharp.Env;
double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);GetTotalSpace(drive, unit)
Definition
Gets the total amount of space on a specified drive. It returns double.
Arguments
| Type | Name | Meaning |
|---|---|---|
string | drive | The drive letter or name to get the amount of total space. |
StorageUnits | unit | The unit of the returned result. |
Usage
using PeyrSharp.Enums;
using PeyrSharp.Env;
double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);GetTotalSpace(driveInfo, unit)
Definition
Gets the total amount of space on a specified drive. It returns double.
Arguments
| Type | Name | Meaning |
|---|---|---|
DriveInfo | driveInfo | The DriveInfo object to get the amount of total space. |
StorageUnits | unit | The unit of the returned result. |
Usage
using PeyrSharp.Enums;
using PeyrSharp.Env;
double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);CountFileCharactersAsync(fileName)
Definition
Counts the number of characters in specified file asynchronously. It returns an int.
INFO
This method is asynchronous and awaitable.
Arguments
| Type | Name | Meaning |
|---|---|---|
string | fileName | The file path of the file. |
Usage
using PeyrSharp.Env;
public static async Task ExampleAsync()
{
// Write some text in a file
string text = "Hello, World!";
await File.WriteAllTextAsync("Hello.txt", text);
// Count the number of characters
int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
// chars = 13
}CanWriteFile(filePath)
Definition
Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.
Arguments
| Type | Name | Meaning |
|---|---|---|
string | filePath | The path to the directory. |
Usage
using PeyrSharp.Env;
if (FileSys.CanWriteFile(@"C:\Windows"))
{
Console.WriteLine("You have permission to edit in this folder.");
}
else
{
Console.WriteLine("You do not have permission to edit in this folder.");
}IsDriveOpticalDrive(driveInfo)
Available in version 1.1 and higher.
Definition
Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.
Arguments
| Type | Name | Meaning |
|---|---|---|
string | driveInfo | The drive to check. |
Usage
using PeyrSharp.Env;
if (FileSys.IsOpticalDrive(new(@"E:\")))
{
Console.WriteLine("Drive E:/ is an optical drive")
}GetDriveStorageUnit(driveInfo)
Available in version 1.1 and higher.
Definition
Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.
Arguments
| Type | Name | Meaning |
|---|---|---|
string | driveInfo | The drive to get the unit of. |
Usage
using PeyrSharp.Env;
var unit = FileSys.GetDriveStorageUnit(@"C:\");
string message = unit switch
{
StorageUnits.Gigabyte => "The drive unit is in gigabytes",
StorageUnits.Terabyte => "The drive unit is in terabytes",
StorageUnits.Petabyte => "The drive unit is in petabytes",
_ => "Unknown size unit"
}
Console.WriteLine(message);Properties
AppDataPath
Definition
public static string AppDataPath { get; }The AppDataPath property gets the %APPDATA% path. You can only get this property.
Usage
using PeyrSharp.Env;
string appdata = FileSys.AppDataPath;CurrentAppDirectory
Available in version 1.1 and higher.
Definition
public static string CurrentAppDirectory { get; }The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.
Usage
using PeyrSharp.Env;
string dir = FileSys.CurrentAppDirectory;DriveWithHighestFreeSpace
Available in version 1.1 and higher.
Definition
public static DriveInfo DriveWithHighestFreeSpace { get; }The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.
Usage
using System.IO;
using PeyrSharp.Env;
DriveInfo highest = FileSys.DriveWithHighestFreeSpace;DriveWithLowestFreeSpace
Available in version 1.1 and higher.
Definition
public static DriveInfo DriveWithLowestFreeSpace { get; }The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.
Usage
using System.IO;
using PeyrSharp.Env;
DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;SystemDrive
Definition
[SupportedOSPlatform("windows")]
public static DriveInfo SystemDrive { get; }The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.
DANGER
This property only works on Windows! It will return a default value if you run it on a different platform.
Usage
using PeyrSharp.Env;
DriveInfo sys = FileSys.SystemDrive;CurrentDirectory
Definition
Gets the current directory of the application. Returns a string representing the full path of the current directory.
Usage
using PeyrSharp.Env;
string currentDirectory = FileSys.CurrentDirectory;ComputerName
Definition
Returns the name of the current computer as a string.
Usage
using PeyrSharp.Env;
string computerName = FileSys.ComputerName;