文本文件如下;
先看一下读取文件中的汉字问题;
然后看一下,从字符串中每次取一个字符,是否取到一个汉字,因为一个汉字是2个字节;
private void button1_Click(object sender, EventArgs e)
{
try
{
string strLine;
FileStream aFile = new FileStream(@"hanzi.txt", FileMode.Open);
StreamReader sr = new StreamReader(aFile, System.Text.Encoding.GetEncoding("gb2312"));
//如果有汉字,必需要加入第二个编码参数,要不读出来就是乱码,如果全是英文,可以不加这个参数。
strLine = sr.ReadLine();
while (strLine != null)
{
textBox1.Text = textBox1.Text + strLine + Environment.NewLine;
for(int i=0;i<strLine.Length;i++)
{
textBox2.Text = textBox2.Text + strLine.Substring(i, 1) + ",";
}
textBox2.Text = textBox2.Text + Environment.NewLine;
strLine = sr.ReadLine();
}
sr.Close();
}
catch (IOException ex)
{
}
}
运行如下;从字符串中每次取一个字符是取到一个汉字;