Skip to content

🌱 NodeJS Module to split and merge files for several purposes like transporting over unstable networks.

License

Notifications You must be signed in to change notification settings

tomvlk/node-split-file

Repository files navigation

Split File

Build Status

Split and merge file in multiple parts. Splittable with number of parts or maximum bytes per part

Programmatically usage

This section contains information on how to use the split-file module in your code.

Installation

You can install and save an entry to your package.json with the following command:

npm i --save split-file

Usage

All methods return a Promise (bluebird) which results in some respose if some.

Splitting file with number of parts

splitFile(file, dest?) => Promise<string[]>

Consumes:

  • file: Path to the file to split.
  • dest: Folder for output, defaults to . (current folder)

Produces:

  • Promise<string[]>: Promise with results in an array of part names (full paths) of the splitted files.

Example:

const splitFile = require('split-file');

splitFile.splitFile(__dirname + '/testfile.bin', 3)
  .then((names) => {
    console.log(names);
  })
  .catch((err) => {
    console.log('Error: ', err);
  });

Splitting file with maximum bytes per part

splitFileBySize(file, maxSize, dest?) => Promise<string[]>

Consumes:

  • file: Path to the file to split.
  • maxSize: Max size of the splitted parts. (bytes)
  • dest: Folder for output, defaults to . (current folder)

Produces:

  • Promise<string[]>: Promise with results in an array of part names (full paths) of the splitted files.

Example:

const splitFile = require('split-file');

splitFile.splitFileBySize(__dirname + '/testfile.bin', 457000)
  .then((names) => {
    console.log(names);
  })
  .catch((err) => {
    console.log('Error: ', err);
  });

Merge parts

mergeFiles(names, outputFile) => Promise<>

Consumes:

  • names: Input files, array with full part paths.
  • outputFile: Full path of the output file.

Produces:

  • Promise<>: Promise that results in an empty resolving.

Example:

const splitFile = require('split-file');

splitFile.mergeFiles(names, __dirname + '/testfile-output.bin')
  .then(() => {
    console.log('Done!');
  })
  .catch((err) => {
    console.log('Error: ', err);
  });

CLI Tool

Installation

To use the module from the commandline you can install this package in your global context:

npm i -g split-file

Some situations you need admin rights (sudo or windows run as admin)

Usage

The CLI tool works like you use it in your own package.

Usage: split-file -s input.bin 5
       split-file -x input.bin 457000
       split-file -m output.bin part1 part2 ...

 -s <input> <num_parts>
    Split the input file in the number of parts given.

 -x <input> <max_size>
    Split the input file into multiple parts with file size maximum of max_size bytes

 -m <output> <part> <part> ...
    Merge the given parts into the output file.

License

License is MIT, see LICENSE

About

🌱 NodeJS Module to split and merge files for several purposes like transporting over unstable networks.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published