dlang 读取gz压缩文件

时间:2021-10-18 13:49:20

没找到打开gz压缩文件的标准库,暂时调用系统命令打开gz压缩文件(参考:https://dlang.org/phobos/std_process.html#.Redirect.stdoutToStderr)。

缺点是文件全部会读入内存处理,对于大文件不太友好。

 1 import std.stdio;
2 import std.process;
3 import std.string;
4
5 void main(string[] args){
6 string fileName = args[1];
7 string command = "gzip -dc " ~ fileName ;
8 auto dmd = executeShell(command);
9 if(dmd.status != 0){
10 writeln("Compilation failed:\n", dmd.output);
11 }
12 else{
13 auto all=chomp(dmd.output).split("\n");
14 writeln(typeid(all));
15 for(int i=0; i<all.length; i++){
16 writeln(all[i]);
17 }
18 }
19 }