Dev.Util.IO
1.2.1
See the version list below for details.
dotnet add package Dev.Util.IO --version 1.2.1
NuGet\Install-Package Dev.Util.IO -Version 1.2.1
<PackageReference Include="Dev.Util.IO" Version="1.2.1" />
<PackageVersion Include="Dev.Util.IO" Version="1.2.1" />
<PackageReference Include="Dev.Util.IO" />
paket add Dev.Util.IO --version 1.2.1
#r "nuget: Dev.Util.IO, 1.2.1"
#:package Dev.Util.IO@1.2.1
#addin nuget:?package=Dev.Util.IO&version=1.2.1
#tool nuget:?package=Dev.Util.IO&version=1.2.1
Dev.Util.IO
Professional file system and compression utilities for the Dev.Util ecosystem. Simplify complex path logic and archiving operations.
๐ฆ Installation
dotnet add package Dev.Util.IO
โจ Features
- ๐ Directory Intelligence: Ensure trees exist or calculate directory sizes recursively.
- ๐ File Privacy: Safe file writes and path normalization.
- ๐๏ธ Compression: High-level extensions for
ZipandGZiplogic. - ๐ก๏ธ Path Safety: Convert messy user input into safe system filenames.
- ๐งน Cleanup Utilities: Recursive deletion that handles locked file edge-cases.
๐ Usage Examples
1. File & Directory Orchestration
Avoid common "DirectoryNotFound" exceptions.
using Dev.Util.IO;
var myFile = new FileInfo(@"C:\App\Config\settings.json");
// Creates 'App' and 'Config' folders if they don't exist
myFile.EnsureDirectoryExists();
// Get directory size in bytes
long size = new DirectoryInfo(@"C:\Data").GetSize();
2. Sanitizing Filenames
Perfect for handling file uploads from web users.
using Dev.Util.IO;
string input = "User Resume / 2024?.pdf";
string safe = input.ToSafeFileName();
// Result: "User Resume 2024 .pdf"
3. Zip Archiving
Compress folders or extract packages with a single method.
using Dev.Util.IO;
var source = new DirectoryInfo(@"C:\Reports");
var target = @"C:\Archives\July.zip";
// Zips the entire directory
source.ZipTo(target);
// Extension on string for extraction
target.UnzipTo(@"C:\Extract");
4. Memory Stream Compression (GZip)
Efficiently compress strings or byte arrays for storage or transport.
using Dev.Util.IO;
string longText = "...large dataset...";
byte[] compressed = longText.Compress();
// Revert
string original = compressed.Decompress();
5. Advanced System Queries
// Get the "real" path (resolving symbolic links or relative dots)
string path = "./temp/../data/".ToFullPath();
All IO operations are designed to be thread-safe where possible and respect system permissions.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Dev.Util.Core (>= 1.2.1)
-
net8.0
- Dev.Util.Core (>= 1.2.1)
-
net9.0
- Dev.Util.Core (>= 1.2.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Dev.Util.IO:
| Package | Downloads |
|---|---|
|
Dev.Util
The complete Dev.Util ecosystem for .NET. One package to rule them all. Provides access to Core, Collections, IO, Security, Web, Reflection, Tasks, and Json modules. |
GitHub repositories
This package is not used by any popular GitHub repositories.