Giter Club home page Giter Club logo

filemaster-library's Introduction

FileMaster-Library

The FileMaster Library offers fast and efficient methods to split up files into smaller chunks and join them back up in C#. This is useful for a variety of use cases, such as:

  1. Circumventing the upload limit of various websites/webapps (see the Discord Filemaster on my GitHub)

  2. Putting a large file on multiple smaller storage mediums (Floppy Disks, CD's, DVD's, etc)

Getting started

This library is very simple to use. If you simply wish to split or join files on the same calling thread, you can just initialize the FileMaster object and invoke the methods FileSplit(string inputFilePath, string outputFolderPath, int pieceSize) or FileJoin(string inputFolderPath, string outputFolderPath, string outputFileName, string outputExtension) respectively. At the end of its execution, you can check if there was an error using the FileMaster object's ExitError property. If ExitError is true, then there must be an error and the error code is given by the property StatusMessage.

However, if the file you wish to split is very large, there is a large amount of files you wish to join or you are doing these operations in a GUI project, it is not wise to do this work on the single calling thread. If you try to do intense work in a GUI project from the GUI thread, the program will become unresponsive. Not only this but, the FileMaster object has a whole host of properties that tell the user the progress the program is making on splitting or joining your files. These are totally inaccessible if you simply do this work on a single thread. Therefore, it is recommended that you use this library using multiple threads. While this is more complicated, I have provided examples of both Console and WinForms projects on how to use this library correctly:

Console Example

WinForms Example

WinUI 3 Example

NuGet Package Download

filemaster-library's People

Contributors

shailosingh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.