private void cmdConvert_Click(object sender, EventArgs e)
{
string FileName=FileDialog.FileName;
string NewFileName = BrowserDialog.SelectedPath + "\\" +
"JG.txt";
using (System.IO.StreamReader reader = new
System.IO.StreamReader(FileName, Encoding.Default))
{
while (!reader.EndOfStream)
{
StrList.Add(reader.ReadLine());//将你读取的每行数据写入ArrayList中
}
}
FileStream fs = new FileStream(NewFileName, FileMode.OpenOrCreate,
FileAccess.Write);
StreamWriter Line = new StreamWriter(fs,
System.Text.Encoding.GetEncoding("GB2312"));
Line.Flush();
Line.BaseStream.Seek(0, SeekOrigin.Begin);
////////////////////////////////add by
libiao/////////////////////////////////////
string[] lines = File.ReadAllLines(FileName);//读出所有行
for (int i = 0; i < lines.Length;
i++)//对每一行进行处理
{
string line = lines[i];
if ((int)line[0] >
127)//判断每一行是否以汉字开头(汉字的ASCII码大于127),若是,则不用转换,直接写入,否则进行转换
{
Line.WriteLine(StrList[i]);//输出
continue;//继续读取下一行
}
else
{
string convert_no = line.Substring(0, 8);//读前8个数字
string convert_no_after = "";
//因为.dat文件中的是16进制,而ASCII对应的是10进制,所以首先要将读出的16进制的字符串转换为10进制的整数,