string str1="fjkjoe";
  FileStream fs=File.Open("file.txt",System.IO.FileMode.Truncate,System.IO.FileAccess.ReadWrite,System.IO.FileShare.ReadWrite);
  fs.Write(Encoding.UTF8.GetBytes(str1),0,str1.Length);
  fs.Close();如果用这样的代码写文件,文件的末尾会产生一个黑色的正方形
我希望写的时候不产生这个记号,请问该怎样做?

解决方案 »

  1.   

    这些应该是无法显示的字符,
    把\r或\n替换成\r\n试一下。
      

  2.   

    这些应该是无法显示的字符,
    把\r或\n替换成\r\n试一下。这方法好像可以成功
    但对于一些既有 \r 又有 \n 的字符串怎么办呢?
    比如说:str="asdfkljl \r jihw \n";
    str=str.Replace("\r","\r\n");
    str=str.Replace("\n","\r\n");这样做了以后仍然有乱码,因为第一次替换得到的 \r\n 经过第二次替换后就被破坏了,应该怎样解决?
      

  3.   

    用正则表达式来判断,如果\r\n是连在一起的就不要替换啊,只替换单独的\r或\n。
      

  4.   

    笨办法,不过简单,就是没效率
    str=str.Replace("\r\n","\r");
    str=str.Replace("\r","\r\n");
    str=str.Replace("\n","\r\n");
      

  5.   

    笨办法,不过简单,就是没效率
    str=str.Replace("\r\n","\r");
    str=str.Replace("\r","\r\n");
    str=str.Replace("\n","\r\n");
    ----呵,楼上的这样也不行啊
    \r\n
    --> str=str.Replace("\r\n","\r");
    \r
    --> str=str.Replace("\r","\r\n");
    \r\n
    --> str=str.Replace("\n","\r\n");
    \r\r\n
      

  6.   

    作用正则:搜索条件
    \r[^\n]|[^\r]\n
    替换为
    \r\n