hhpack/file
最新稳定版本:1.2.2
Composer 安装命令:
composer require hhpack/file
包简介
File utility library for Hack
README 文档
README
This package is a library for performing a simple to file operations hacklang.
Will provide a lightweight and simple api to the user.
Basic usage
Read processing of files can be realized by a simple code as follows.
Reading one line at a time.
use HHPack\File\FileLineStream; $lineStream = FileLineStream::fromString('/path/to/text.log'); foreach ($lineStream as $line) { echo $line->length(), "\n"; //output length echo $line->value(), "\n"; //output content };
Read the CSV file
use HHPack\File\FileLineStream; use HHPack\File\SeparatedRecordStream; use HHPack\File\ColumnSpecification; $spec = new ColumnSpecification(',', '"'); $spec->addColumn(0, 'name'); $spec->addColumn(1, 'description'); $lineStream = FileLineStream::fromString(__DIR__ . '/example.csv'); $csvStream = new SeparatedRecordStream($lineStream, $spec); foreach ($csvStream as $record) { echo $record->get('name'), "\n"; echo $record->get('description'), "\n"; }
Customizing the reading of the record
Will create a parser that implements the ParseSpecification.
Then use the ParsedFileReader, and then apply the parser.
use HHPack\File\FileLineStream; use HHPack\File\ParsedChunkStream; use HHPack\File\ParseSpecification; final class CustomRecordSpecification implements ParseSpecification<array<string>> { public function parse(Chunk $line) : array<string> { return $line->split(','); } } $spec = new CustomRecordSpecification(); $lineStream = FileLineStream::fromString(__DIR__ . '/example.csv'); $csvStream = new ParsedChunkStream($lineStream, $spec); foreach ($csvStream as $values) { echo $values[0], "\n"; echo $values[1], "\n"; }
Run the test
You can run the test with the following command.
composer install
composer test
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-10-11