Skip to content

majacQ/EmptyFiles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmptyFiles

Build status NuGet Status NuGet Status

A collection of minimal binary files.

NuGet package

Files

All files: https://github.com/SimonCropp/EmptyFiles/tree/master/files

Archive

  • 7z (32 bytes)
  • 7zip (32 bytes)
  • bz2 (14 bytes)
  • bzip2 (14 bytes)
  • gz (29 bytes)
  • gzip (29 bytes)
  • tar (1.5 KB)
  • xz (32 bytes)
  • zip (22 bytes)

Document

  • docx (1.9 KB)
  • odt (2.2 KB)
  • pdf (291 bytes)
  • rtf (6 bytes)

Image

  • avif (298 bytes)
  • bmp (58 bytes)
  • dds (136 bytes)
  • dib (58 bytes)
  • emf (620 bytes)
  • exif (734 bytes)
  • gif (799 bytes)
  • heic (3.2 KB)
  • heif (209 bytes)
  • ico (70 bytes)
  • j2c (270 bytes)
  • jfif (734 bytes)
  • jp2 (355 bytes)
  • jpc (270 bytes)
  • jpe (734 bytes)
  • jpeg (734 bytes)
  • jpg (734 bytes)
  • jxr (300 bytes)
  • pbm (10 bytes)
  • pcx (131 bytes)
  • pgm (12 bytes)
  • png (119 bytes)
  • ppm (14 bytes)
  • rle (58 bytes)
  • tga (543 bytes)
  • tif (250 bytes)
  • tiff (250 bytes)
  • wdp (300 bytes)
  • webp (228 bytes)
  • wmp (300 bytes)

Sheet

  • ods (2.7 KB)
  • xlsx (4.5 KB)

Slide

  • odp (7.8 KB)
  • pptx (13.3 KB)

Tool Usage

Installation

Ensure dotnet CLI is installed.

Install EmptyFiles.Tool

dotnet tool install -g EmptyFiles.Tool

Extension only Usage

emptyfile bmp

Creates {CurrentDirectory}/empty.bmp

File Usage

emptyfile myfile.bmp

Creates {CurrentDirectory}/myfile.bmp

Path Usage

emptyfile path/myfile.bmp

Creates path/myfile.bmp

Library Usage

CreateFile

Creates a new empty file

AllFiles.CreateFile(pathOfFileToCreate);

snippet source | anchor

Throws an exception if the extension is not known. There is also a TryCreateFile that will return false if the extension is not known.

Use the optional useEmptyStringForTextFiles to create a empty text file if the extension is text. The file will be UTF8 no BOM as per https://www.unicode.org/versions/Unicode5.0.0/ch02.pdf "Use of a BOM is neither required nor recommended for UTF-8".

GetPathFor

Gets the path to an empty file for a given extension

var path = AllFiles.GetPathFor("jpg");

snippet source | anchor

Throws an exception if the extension is not known. There is also a TryGetPathFor that will return false if the extension is not known.

IsEmptyFile

Returns true if the target file is an empty file.

var path = AllFiles.GetPathFor("jpg");
Assert.True(AllFiles.IsEmptyFile(path));
var temp = Path.GetTempFileName();
Assert.False(AllFiles.IsEmptyFile(temp));

snippet source | anchor

AllPaths

Enumerates all empty files

foreach (var path in AllFiles.AllPaths)
{
    Trace.WriteLine(path);
}

snippet source | anchor

UseFile

Use or replace a file

AllFiles.UseFile(Category.Document, pathToFile);
Assert.Contains(pathToFile, AllFiles.DocumentPaths);

snippet source | anchor

Extensions helper

IsText

https://github.com/sindresorhus/text-extensions/blob/master/text-extensions.json

Assert.True(Extensions.IsText("file.txt"));
Assert.False(Extensions.IsText("file.bin"));
Assert.True(Extensions.IsText(".txt"));
Assert.False(Extensions.IsText(".bin"));
Assert.True(Extensions.IsText("txt"));
Assert.False(Extensions.IsText("bin"));

snippet source | anchor

AddTextExtension

Extensions.AddTextExtension("ext1");
Extensions.AddTextExtension(".ext2");
Assert.True(Extensions.IsText("ext1"));
Assert.True(Extensions.IsText("ext2"));

snippet source | anchor

RemoveTextExtension

Extensions.AddTextExtension("ext1");
Extensions.AddTextExtension(".ext2");
Assert.True(Extensions.IsText("ext1"));
Assert.True(Extensions.IsText("ext2"));
Extensions.RemoveTextExtension("ext1");
Extensions.RemoveTextExtension(".ext2");
Assert.False(Extensions.IsText("ext1"));
Assert.False(Extensions.IsText("ext2"));

snippet source | anchor

Icon

Hollow designed by Michael Senkow from The Noun Project.

About

A collection of minimal binary files.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%