c#请问如何让html文件转成txt文件的时候不出现■这个东西?

来源:百度知道 编辑:UC知道 时间:2024/06/17 07:42:34
我用的方法是
StreamWriter html = new StreamWriter("all.txt", true);
StreamWriter streamwriter2 = new StreamWriter("zhilinglujing.txt", true);
string line = "";
char[] line2;
line = streamreader.ReadToEnd().ToString();
line2 = line.ToCharArray();
for (i = 0; i < line2.Length; i++)
{
html.WriteLine(line2[i]);
}
我的想法是把一个html中的内容每一个字母都存入数组~但是结果是我的网页内容是:
adfsadfa
asdfasdf
asdfasdfasdf
asdfasdfasdf
asdfasdfasdf

变成txt的时候
a
d
f
s
a
d
f
a


a
s
d
f
a
s
d
f


。。后面的不再打了太长了。。。为什么会出现■ 这个东西?请问怎么解决?

■ 这个东西是“回车符”,你之所以输出成这样是因为你读取txt里的文件后,通过这种方式转化为一个数组:
line2 = line.ToCharArray();
line2里面就是一个类似这样的数组:
{'a','d','f','s','a','d','f','a',...... }
然后在循环里,你又使用了“html.WriteLine(line2[i]); ”
WriteLine的方式,每打印一个char字符,就换行,所以,问题出在你使用的方法上。

解决办法:
string str = "";
while((str=streamreader.ReadLine()) != null)
{
html.WriteLine(str);
}
一行行读,一行行写。

先加上编码看看:

StreamWriter streamwriter2 = new StreamWriter("zhilinglujing.txt", true,System.Text.Encoding.GetEncoding("gb2312"));