源码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;namespace TestApplication
{
    class Program
    {
        static void Main()
        {
            string strLine;
            try
            {
                FileStream kkFile = new FileStream(@"c:\kk.txt", FileMode.Open);
                StreamReader kkReader = new StreamReader(kkFile);
                strLine = kkReader.ReadLine();
                while (strLine != null)
                {
                    Console.WriteLine(strLine);
                    strLine = kkReader.ReadLine();
                }
                kkReader.Close();
            }
            catch(IOException ex)
            {
                Console.WriteLine(ex.ToString());
                return;
            }
            Console.ReadKey();
        }
    }
}kk.txt文件内容如下:
<CABIN>
<HEAD>5170500011||081223000000||粤海508||||11||9||220831.00||6142||10||081225||081224||江海运输(2)||肇庆港(5177)||||||</HEAD>
<ORDER>5170500011||081223000000||粤海508||1||HZQC8C0592||高要怡发金属工业有限公司||珠江中转物流有限公司||香港(110)||肇庆(5177)||肇庆港(51770)||081224||生铁铸件||21||木箱(1)||0||||1||23183.00
<CONTA>5170500011||081223000000||HZQC8C0592||1||WHLU2682045||20GP||WHLN926876</CONTA>
</ORDER>
<ORDER>5170500011||081223000000||粤海508||2||HZQC8C0591||德庆迪爱生合成树脂有限公司||珠江中转物流有限公司||香港(110)||肇庆(5177)||肇庆港(51770)||081224||松香树脂||649||包(6)||0||||1||21295.00
<CONTA>5170500011||081223000000||HZQC8C0591||1||OOLU5795611||40HQ||OOLQ186407</CONTA>
</ORDER>
<ORDER>5170500011||081223000000||粤海508||3||HZQT8C0635||肇庆长信经济贸易有限公司||珠江中转物流有限公司||香港(110)||肇庆(5177)||肇庆港(51770)||081224||未磨肉桂||418||件(9)||0||||1||14596.00
执行源码,读不到中文,请问哪里问题了

解决方案 »

  1.   


     FileStream kkFile = new FileStream(@"c:\kk.txt", FileMode.Open);
                    StreamReader kkReader = new StreamReader(kkFile,System.Text.Encoding.Default);
                    strLine = kkReader.ReadLine();
                    while (strLine != null)
                    {
                        Console.WriteLine(strLine);
                        strLine = kkReader.ReadLine();
                    }
                    kkReader.Close();
      

  2.   

    将kk.txt的编码改成UTF-8即可,本地已经测试。MSDN:
    StreamReader 旨在以一种特定的编码输入字符,而 Stream 类用于字节的输入和输出。使用 StreamReader 读取标准文本文件的各行信息。除非另外指定,StreamReader 的默认编码为 UTF-8,而不是当前系统的 ANSI 代码页。UTF-8 可以正确处理 Unicode 字符并在操作系统的本地化版本上提供一致的结果。
      

  3.   

     FileStream kkFile = new FileStream(@"c:\kk.txt", FileMode.Open);
                    StreamReader kkReader = new StreamReader
    (kkFile,System.Text.Encoding.Default);
                    strLine = kkReader.ReadLine();
                    while (strLine != null)
                    {
                        Console.WriteLine(strLine);
                        strLine = kkReader.ReadLine();
                    }
                    kkReader.Close();
      

  4.   

    奇怪怎么不变色
    System.Text.Encoding.Default
    加上这句
      

  5.   

    或:
    StreamReader kkReader = new StreamReader(kkFile, System.Text.Encoding.Default);
      

  6.   

     StreamReader kkReader = new StreamReader(kkFile,System.Text.Encoding.Default);
      

  7.   

    字符编码出了问题!也就是说,kk.txt文件格式与你读它时候的编码格式不对称,以致不成正常显示出中文!
    你可以参考:http://www.regexlab.com/zh/encoding.htm