我需要将文件的内容附加到另一个文件然后删除旧文件,但这样做我应该尊重编码。这意味着源文件可以用俄语编码写入,并且通过将文件添加到另一个文件,不应该更改第一个文件的原始编码。 并且第一个文件应附加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();
它有效..但由于某些原因,我不明白,系统保持默认编码。