dlang 读取gz压缩文件
没找到打开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 }
作者:天使不设防
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.