没找到打开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: ", dmd.output); 11 } 12 else{ 13 auto all=chomp(dmd.output).split(" "); 14 writeln(typeid(all)); 15 for(int i=0; i<all.length; i++){ 16 writeln(all[i]); 17 } 18 } 19 }