graze/data-file

File manipulation

2.0-beta 2016-06-07 09:35 UTC

This package is auto-updated.

Last update: 2024-10-24 04:25:55 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

File manipulation classes

Install

Via Composer

$ composer require graze/data-file

Interfaces

  • FileModifierInterface - Modify a single file
  • FileExpanderInterface - Expand a single file into a collection of files
  • FileContractorInterface - Contract a collection of files into a single file
  • FileTransferInterface - Transfer a file to another file system
  • FileFinderInterface - Find files based on a configuration
  • FormatInterface - Format information about a file
  • FormatterInterface - How to format a file based on a format
  • ParserInterface - Parse a stream of data
  • ReaderInterface - Read a stream
  • WriterInterface - Write a stream

Things it does

  • Finder: MetadataFinder - Will find files based on their metadata (size, created time, etc)
  • Format: CsvFormat, JsonFormat - Defines how a csv or json file is formatted
    • Formatter: CsvFormatter, JsonFormatter - Format data into csv or json file
    • Parse: CsvParser, JsonParser - Parse a file containing csv, or json data
  • Modify
    • Compression: Gzip, Zip, FindCompression - Compress, decompress and find the compression of files
    • Merge: Merge - Join multiple files into a single file
    • Transfer: Transfer - Transfer a file from any thephpleague/flysystem Filesystem to another filesystem
    • Encoding: ConvertEncoding, FindEncoding - Change or find the encoding of a file
    • Line manipulation: Head,Tail - Retrieve a segment of a file
    • Replace Text: ReplaceText - Replace all instances of a string with another string
    • ReFormat: ReFormat - Read a file in 1 format and convert to another
  • IO
    • Read: FileReader,StreamReader - Read a file/stream in a specified format
    • Write: FileWriter,StreamWriter - Write a file/stream in a specified format

Testing

$ make test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email security@graze.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.