StreamWriterを介して、新しく作成されたzipファイル(gzipではなく)にテキストを書き込むことができないようです。私はSharpZipLibを使用し、それを動作させる方法をあまり理解していません。 DJ Krazeは、圧縮されたテキストファイルからStreamReaderへのコンテンツのストリーミングを手伝ってくれました。私はcsvファイルを最初に作成してからファイナライズしたファイルを圧縮したくないのですが、zipコンテナ内のcsvを作成するためにテキストを直接ストリームするのが好きです。それは可能ですか? StreamReaderで使用できるストリームを取得するために使用するスニペットの下に、私が探しているアイデアが表示されます。今回はStreamWriterでストリームを使用するのが好きです。ここでSharpZipLibはStreamWriterを使用して新しく作成したCSVファイルにテキストを書き込むことができません
public static Stream GetZipInputFileStream(string fileName)
{
ZipInputStream zip = new ZipInputStream(File.OpenRead(fileName));
FileStream filestream =
new FileStream(fileName, FileMode.Open, FileAccess.Read);
ZipFile zipfile = new ZipFile(filestream);
ZipEntry item;
if ((item = zip.GetNextEntry()) != null)
{
return zipfile.GetInputStream(item);
}
else
{
return null;
}
}
私は基本的に探したが、他の方法の周りにいる、私はそれを使用する方法である(のStreamWriter - 新しいZIPコンテナに>新しいCSVファイル):
using (StreamReader streamReader = Path.GetExtension(fileName).ToUpper().Equals(".ZIP") ? new StreamReader(FileOperations.GetZipInputFileStream(fileName)) : new StreamReader(fileName))
{
タイトルに「c#」などのプレフィックスを付けないでください。それがタグのためのものです。 –
が分かっています、申し訳ありません。 –
それは問題ではありません。私は新しい[so]ユーザーに将来のタイトルでそれをしないよう知らせるようにしています。私には多くの作品編集タイトルを保存します。 –