SabreTools.IO
1.7.0
dotnet add package SabreTools.IO --version 1.7.0
NuGet\Install-Package SabreTools.IO -Version 1.7.0
<PackageReference Include="SabreTools.IO" Version="1.7.0" />
<PackageVersion Include="SabreTools.IO" Version="1.7.0" />
<PackageReference Include="SabreTools.IO" />
paket add SabreTools.IO --version 1.7.0
#r "nuget: SabreTools.IO, 1.7.0"
#:package SabreTools.IO@1.7.0
#addin nuget:?package=SabreTools.IO&version=1.7.0
#tool nuget:?package=SabreTools.IO&version=1.7.0
SabreTools.IO
This library compries of I/O functionality used by other SabreTools projects.
Find the link to the Nuget package here.
Namespaces
Below are a list of the included namespaces and their overall utility.
SabreTools.IO
Generic helper classes that involve custom functionality and utility.
SabreTools.IO.Compression
Various compression implementations that are used across multiple projects. Most of the implementations are be ports of existing C and C++ code.
Supported Compressions
Compression Name | Decompress | Compress | Notes |
---|---|---|---|
Blast | Yes | No | |
BZip2 | Yes | Yes | Sourced from DotNetZip |
Deflate | Yes | Yes | Sourced from DotNetZip |
LZ | Yes | No | KWAJ, QBasic 4.5, and SZDD variants; KWAJ incomplete |
LZX | No | No | |
MSZIP | Yes | No | |
Quantum | Yes* | No | Partial implementation based on standalone archives; not working |
Note: If something is marked with a *
it means that it need testing.
External Libraries
Library Name | Use |
---|---|
DotNetZip | BZip2 and DEFLATE implementations; minor edits have been made |
ZLibPort | Adds zlib code for internal and external use; minor edits have been made |
SabreTools.IO.Extensions
Extensions for BinaryReader
, byte[]
, and Stream
to help with reading and writing various data types. Some data types are locked behind .NET version support.
This namespace also contains other various extensions that help with common functionality and safe access.
SabreTools.IO.Logging
Logic for a logging system, including writing to console and textfile outputs. There are 4 possible log levels for logging statements to be invoked with. There is also a stopwatch implementation included for logging statements with automatic timespan tracking.
SabreTools.IO.Readers
and SabreTools.IO.Writers
Reading and writing support for the following file types:
- ClrMamePro-derived Metadata files
- Standard and non-standard INI files
- Separated-Value files (e.g. CSV, SSV, TSV)
For a generic INI implementation, see SabreTools.IO.IniFile
.
SabreTools.IO.Streams
Custom Stream
implementations that are required for specialized use:
ReadOnlyBitStream
: A readonly stream implementation allowing bitwise readingReadOnlyCompositeStream
: A readonly stream implementation that wraps multiple source streams in a set order
Releases
For the most recent stable build, download the latest release here: Releases Page
For the latest WIP build here: Rolling Release
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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 is compatible. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net20 is compatible. net35 is compatible. net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 is compatible. net46 was computed. net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 is compatible. 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. |
-
.NETCoreApp 3.1
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETFramework 2.0
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETFramework 3.5
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETFramework 4.0
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETFramework 4.5.2
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETFramework 4.6.2
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETFramework 4.7.2
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETFramework 4.8
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETStandard 2.0
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
.NETStandard 2.1
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
net5.0
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
net6.0
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
net7.0
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
net8.0
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
-
net9.0
- SabreTools.Matching (>= 1.6.0)
- SabreTools.Models (>= 1.6.0)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on SabreTools.IO:
Package | Downloads |
---|---|
SabreTools.Serialization
Serialization and deserialization helpers for various types |
|
UnshieldSharp
Port of Unshield and unshieldv3 to C# |
|
WiseUnpacker
Wise installer unpacker based on E_WISE and HWUN |
|
SabreTools.Compression
Clean compression implementations |
|
SabreTools.ASN1
Serialization and deserialization helpers for various types |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on SabreTools.IO:
Repository | Stars |
---|---|
SabreTools/SabreTools
DAT management tool with advanced editing and sorting features
|
|
SabreTools/BinaryObjectScanner
C# protection, packer, and archive scanning library
|
Version | Downloads | Last Updated | |
---|---|---|---|
1.7.0 | 442 | 7/24/2025 | |
1.6.3 | 393 | 5/12/2025 | |
1.6.2 | 2,216 | 12/16/2024 | |
1.6.1 | 2,462 | 11/30/2024 | |
1.6.0 | 2,505 | 11/26/2024 | |
1.5.1 | 3,806 | 11/16/2024 | |
1.5.0 | 849 | 11/13/2024 | |
1.4.13 | 3,233 | 10/24/2024 | |
1.4.12 | 2,562 | 10/1/2024 | |
1.4.11 | 5,127 | 5/13/2024 | |
1.4.10 | 442 | 5/7/2024 | |
1.4.9 | 233 | 5/7/2024 | |
1.4.8 | 406 | 4/28/2024 | |
1.4.7 | 154 | 4/28/2024 | |
1.4.6 | 199 | 4/28/2024 | |
1.4.5 | 820 | 4/27/2024 | |
1.4.0 | 5,092 | 4/23/2024 | |
1.3.7 | 422 | 4/18/2024 | |
1.3.6 | 572 | 4/17/2024 | |
1.3.5 | 202 | 4/17/2024 | |
1.3.4 | 315 | 4/16/2024 | |
1.3.3 | 1,035 | 4/2/2024 | |
1.3.2 | 1,884 | 3/12/2024 | |
1.3.1 | 1,403 | 3/5/2024 | |
1.3.0 | 2,762 | 11/21/2023 | |
1.2.0 | 395 | 11/14/2023 | |
1.1.1 | 958 | 9/8/2023 | |
1.1.0 | 191 | 9/8/2023 |