这是数据写入TXT的
private void button1_Click(object sender, EventArgs e)
{
if (!File.Exists(path))
{
FileStream fs1 = new FileStream(path, FileMode.Create, FileAccess.Write); //创建文件
StreamWriter sw = new StreamWriter(fs1,System.Text.Encoding.Default);
sw.WriteLine(textBox1.Text.Trim() + "\t" + textBox2.Text.Trim()); //写入值
sw.Close();
fs1.Close();
}
else
{
StreamWriter sr = File.AppendText(path);
sr.WriteLine(textBox1.Text.Trim() + "\t" + textBox2.Text.Trim()); //写入值
sr.Close();
}
readini(path);
}
这是读出的
public void readini(string url)
{
DataTable dt = new DataTable();
dt.Columns.Add("名称", typeof(String));
dt.Columns.Add("指令", typeof(String));
using (StreamReader reader = new StreamReader(url,System.Text .Encoding.Default))
{
while (!reader.EndOfStream)
{
string[] data = reader.ReadLine().Replace("\t", "\t").Split('\t');
DataRow dr = dt.NewRow();
dr[0] = data[0];
dr[1] = data[1];
dt.Rows.Add(dr);
}
}
dt1 = dt;
this.dataGridView1.DataSource = dt1;
}现在我在datagridbiew中读出的中文全部都是乱码,但是如果我把 using (StreamReader reader = new StreamReader(url,System.Text .Encoding.Default))改成 using (StreamReader reader = new StreamReader(url,System.Text .Encoding.unicode)),又会导致读取的时候无法Split开来,提示“索引超出了数组界限”
问题求解
private void button1_Click(object sender, EventArgs e)
{
if (!File.Exists(path))
{
FileStream fs1 = new FileStream(path, FileMode.Create, FileAccess.Write); //创建文件
StreamWriter sw = new StreamWriter(fs1,System.Text.Encoding.Default);
sw.WriteLine(textBox1.Text.Trim() + "\t" + textBox2.Text.Trim()); //写入值
sw.Close();
fs1.Close();
}
else
{
StreamWriter sr = File.AppendText(path);
sr.WriteLine(textBox1.Text.Trim() + "\t" + textBox2.Text.Trim()); //写入值
sr.Close();
}
readini(path);
}
这是读出的
public void readini(string url)
{
DataTable dt = new DataTable();
dt.Columns.Add("名称", typeof(String));
dt.Columns.Add("指令", typeof(String));
using (StreamReader reader = new StreamReader(url,System.Text .Encoding.Default))
{
while (!reader.EndOfStream)
{
string[] data = reader.ReadLine().Replace("\t", "\t").Split('\t');
DataRow dr = dt.NewRow();
dr[0] = data[0];
dr[1] = data[1];
dt.Rows.Add(dr);
}
}
dt1 = dt;
this.dataGridView1.DataSource = dt1;
}现在我在datagridbiew中读出的中文全部都是乱码,但是如果我把 using (StreamReader reader = new StreamReader(url,System.Text .Encoding.Default))改成 using (StreamReader reader = new StreamReader(url,System.Text .Encoding.unicode)),又会导致读取的时候无法Split开来,提示“索引超出了数组界限”
问题求解
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货