将文件的内容附加到保持编码和偏移量的另一个文件中?

时间:2012-01-05 02:11:33

标签: c# .net .net-4.0

我需要将文件的内容附加到另一个文件然后删除旧文件,但这样做我应该尊重编码。这意味着源文件可以用俄语编码写入,并且通过将文件添加到另一个文件,不应该更改第一个文件的原始编码。 并且第一个文件应附加18chars的偏移量,这意味着第二个文件的最后18个字符应该以某种方式被覆盖或被删除 我怎样才能做到这一点?

我试过这个方法:

            fs1 = new FileStream(sFile1, FileMode.Open);
            sw1 = new StreamWriter(fs1, encoding); //encoding is a program variable which says in which encoding format should be stored all files

            char[] fs2Content = new char[fs2.BaseStream.Length];

            fs2.Read(fs2Content, 0, (int)fs2.BaseStream.Length);
            sw1.BaseStream.Position = sw1.BaseStream.Length - 18;
            sw1.Write(fs2Content, 16, (int)fs2.BaseStream.Length - 16);
            sw1.Flush();
            sw1.Close();

它有效..但由于某些原因,我不明白,系统保持默认编码。

0 个答案:

没有答案