File manipulation

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

This package is auto-updated.

Last update: 2024-06-24 03:41:29 UTC



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

File manipulation classes


Via Composer

$ composer require graze/data-file


  • 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


$ make test


Please see CONTRIBUTING for details.


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



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