「実装されていません」というエラーが表示されます。
stdin を介して7-Zipを使用してファイルを圧縮し、stdout を介してデータを取得し、アプリケーションでさらに変換を行いたいと考えています。man ページでは、次の例を示しています。
% エコー フー | 7z ダミー -tgzip -si -so > /dev/null
Windows と C# を使用しています。
結果:
7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03
Creating archive StdOut
System error:
Not implemented
コード:
public static byte[] a7zipBuf(byte[] b)
{
string line;
var p = new Process();
line = string.Format("a dummy -t7z -si -so ");
p.StartInfo.Arguments = line;
p.StartInfo.FileName = @"C:\Program Files\7-Zip\7z.exe";
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardInput = true;
p.Start();
p.StandardInput.BaseStream.Write(b, 0, b.Length);
p.StandardInput.Close();
Console.Write(p.StandardError.ReadToEnd());
//Console.Write(p.StandardOutput.ReadToEnd());
return p.StandardOutput.BaseStream.ReadFully();
}
ファイルをメモリに読み込む別の簡単な方法はありますか?
現在、1) 一時ファイルへの書き込みと読み取り (簡単で、いくつかのコードをコピー/貼り付けできます) 2) ファイル パイプを使用します (中程度ですか? 私はそれをやったことがありません) 3) 他の何か。