• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

C#读写文件汉字乱码问题急?

zxhread 2004-10-31 09:29:23
我用 StreamReader 和 StreamWriter 把一个文本文件中的内容读出写入另一个文本文件
发现汉字都成了乱码,不知道怎样解决.程序大体如下
FileStream fs1 = new FileStream('file1.txt', , );
FileStream fs2 = new FileStream('file2.txt', , );
StreamReader sr = new StreamReader(fs1);
StreamWriter sw = new StreamWriter(fs2);
String line;
line = sr.ReadLine();
sw.WriteLine(line);

这样写入的汉字都有问题了。

...全文
624 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zxhread 2004-10-31
如果这一行很大呢,比如说二进制的文件。文件很大无法区分行,他会读到末尾吗?
java中流有readLine(byte[],0,byte[].length)这个方法 如果一行很大就只读byte[].length 这么多。
回复
Firestone2003 2004-10-31
楼上的方法可行
回复
bubugao 2004-10-31
StreamReader s = new StreamReader(fs,System.Text.Encoding.GetEncoding("GB2312"));
回复
bitsbird 2004-10-31
line = sr.ReadLine();是读取一行
line = sr.ReadToEnd();是读完
回复
zxhread 2004-10-31
line = sr.ReadLine(); 这个语句返回的字符串长度是不是有限制.
如果在这个文件流中 有个巨大的行sr.ReadLine是返回全部还是 收String大小限制.
回复
thinboyxp 2004-10-31
StreamReader s = new StreamReader(fs,System.Text.Encoding.GetEncoding("GB2312"));
这样初始化StreamReader试试。
回复
大雨仔 2004-10-31
自己多试一下
回复
ag1978 2004-10-31
读写都是一样的需要指定。自己试一下吧。
回复
trnbo 2004-10-31
StreamReader myTXT=new StreamReader(yourPath,Encoding.Default);
回复
ag1978 2004-10-31
System.IO.StreamReader sr =new System.IO.StreamReader(fs1,System.Text.Encoding.Default)

回复
zxhread 2004-10-31
请问具体怎么个用法?
回复
ag1978 2004-10-31
需要指定编码类型,用System.Text.Encoding.Default就可以了。
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-10-31 09:29
社区公告

让您成为最强悍的C#开发者