質問

方法を読んで原バイト配列からファイルに書きるバイト配列に戻すファイルを保存し、新規ファイル?

役に立ちましたか?

解決

(編集:質問が変更されたことを注意してください。それが最初にbyte[]は言及しなかった。参照<のhref =「https://stackoverflow.com/revisions/2e2ffb6b-b944-4c97-8400-5965f97863f9/view-source」 >リビジョン1 の)

さて、File.Copyは心に飛躍。しかし、そうでない場合、これはStreamのシナリオのような音ます:

    using (Stream source = File.OpenRead(inPath))
    using (Stream dest = File.Create(outPath)) {
        byte[] buffer = new byte[2048]; // pick size
        int bytesRead;
        while((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0) {
            dest.Write(buffer, 0, bytesRead);
        }
    }

他のヒント

byte[] data = File.ReadAllBytes(path1);
File.WriteAllBytes(path2, data);

知ってい TextReaderTextWriter, その子孫 StreamReaderStreamWriter?この問題を解決の問題が取り扱われるエンコーディング,BinaryReaderつながりエンコーディングでテキストのみであり、関係者とのバイトです。

読めるようにテキストファイルから

書き方テキストのファイル

この巻頭にファイルのオのエンコーディング.

日付の解答までの追加、

using (var source = File.OpenRead(inPath))
{
    using (var dest = File.Create(outPath))
    {
        source.CopyTo(dest);
    }
}

あなたは、必要に応じてバッファサイズを指定することができます。

using (var source = File.OpenRead(inPath))
{
    using (var dest = File.Create(outPath))
    {
        source.CopyTo(dest, 2048); // or something bigger.
    }
}

か、別のスレッドで操作を行うことができ、

using (var source = File.OpenRead(inPath))
{
    using (var dest = File.Create(outPath))
    {
        await source.CopyToAsync(dest);
    }
}

これは、メインスレッドがWPFとWindowsストアのアプリと同じように、他の作業を行う必要があるときに有用であろう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top