2

ファイルが存在する場合は、最初に削除してからファイルを書き込みます。コードは次のとおりです。

try
{
    if (File.Exists("qwe.mp4"))
    {
        File.Delete("qwe.mp4");
    }
    File.WriteAllBytes("qwe.mp4", encodedDataAsBytes);                   
}

ただし、プログラムを実行すると、既存のデータは削除されませんが、前のデータが次のデータに追加されます。(最初のデータはわずか 2 秒で、新しいデータを追加した後は 4 秒かかります)。ただし、新しいデータを読み取ることはできません。つまり、最初の 2 秒間しか再生できず、残りの 2 秒間は読み取ることができません。

これをどのように解決すればよいですか?既存のファイルを完全に削除し、新しいデータで新しいファイルを作成します。

4

3 に答える 3

1

既存のコンテンツを上書きしたい場合は、FileMode.Createこのようにファイルストリームを作成してみませんか?

using (FileStream my_stream = new FileStream("filename.mp4", FileMode.Create, FileAccess.Write)) {
  using (BinaryWriter my_writer = new BinaryWriter(my_stream)) {
    my_writer.Write(my_data);
  }
}
于 2012-10-20T09:14:05.103 に答える