StreamWriter, 有时候写出的文件最后部分会变成NUL
Code如下。其实就是把某一个txt文件的内容全部读出来,变化一下line的顺序,加上一下开头结尾,然后放在myArrayList里面,最后再把myArrayListd的内容输出到另外一个文件里面。
FileStream fs = new FileStream(_file, FileMode.Append);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
for (int i = 0; i < myArrayList.Count; i++)
{
byte[] buffer = Encoding.ASCII.GetBytes(XMLArrayList[i].ToString());
string newString = Encoding.ASCII.GetString(buffer).Replace("?", "");
sw.WriteLine(newString);
buffer = null;
}
fs.Flush();
sw.Close();
fs.Close();
fs = null;
sw = null;
正常运行都没有问题,但是有时候最后生成的文件会以大量的NULNULNUL结尾,正常的内容没有了。 处理过程中不会报错!
开始怀疑是非法字符,但是源文件里面查过了,没有问题;读文件和转换格式也就是加了几个字符而已(比如时间等)
而且批处理文件的时候,几万个里面可能出现1-2个,很随机。
出错的文件重新处理的时候又都不会出错
请问可能是由于什么原因造成的呢?