将一个txt文件中是内容读出来并保存到一个二维数组中
txt的内容为:
0
4
3
1
0
8
1
0
3
4
0
8
1
0
0
5
2
8
5
1
1
0
5
12
1
3
1
2
0
7
8
8
8
12
7
43
一共36个,存到1个6*6的二维数组中,
这个应该挺简单,我反复试了几次,都是说输入的字符串格式不对,郁闷了,高手来指点下吧
txt的内容为:
0
4
3
1
0
8
1
0
3
4
0
8
1
0
0
5
2
8
5
1
1
0
5
12
1
3
1
2
0
7
8
8
8
12
7
43
一共36个,存到1个6*6的二维数组中,
这个应该挺简单,我反复试了几次,都是说输入的字符串格式不对,郁闷了,高手来指点下吧
string line = string.Empty;
for (int i = 0; i < 6; i++)
{
line = sr.ReadToEnd();
for (int j = 0; j < 6; j++)
{
a[i, j] = int.Parse(line.Split("\r\n")[j]);
}
}
这是我的原代码
{
int[,] aa = new int[6, 6];
string path = Application.StartupPath + "\\123.txt";
System.IO.StreamReader reader = new System.IO.StreamReader(path, System.Text.Encoding.Default);
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
aa[i, j] = Convert.ToInt32(reader.ReadLine());
}
}
label1.Text = Convert.ToString(aa[0, 1]);
}运行成功的 label1.text 显示4
string line = string.Empty;
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
line= sr.ReadLine();
a[i, j] = int.Parse(line);
}
}
{
string inname = ofdlg.FileName;
FileStream fs = new FileStream(inname, FileMode.Open);
StreamReader sr = new StreamReader(fs , System.Text.Encoding.Default );
string strLine = sr.ReadLine();
while (strLine != null)
{
this.richTextBox1.Text += strLine + "\r\n";
strLine = sr.ReadLine();
} sr.BaseStream.Seek(0, SeekOrigin.Begin);
int[,] a = new int[6, 6];//txt读入数组
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
a[i, j] = Convert.ToInt32(sr.ReadLine());
//MessageBox.Show(a[i,j].ToString ()); }
}
label1.Text = Convert.ToString(a[0,1]);
sr.Close();
fs.Close();
}
我怎么运行的时候总是在赋值的那一句提示输入的字符串格式不正确,继续运行后a数组全是0呢
如果richtext显示之后不再加这一句,就不会弹出错误,但是a数组的值也全是0,我想是不是richtext显示以后就运行到txt的最后了,是这里的原因还是别的地方的
while (strLine != null)
{
this.richTextBox1.Text += strLine + "\r\n";
strLine = sr.ReadLine();
}
sr.readLine已经读到最后了
然后你又在下面
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
a[i, j] = Convert.ToInt32(sr.ReadLine());
//MessageBox.Show(a[i,j].ToString ()); }
}
读的当然全是空了
string line = string.Empty;
line = sr.ReadToEnd();
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
//a[i, j] = Convert.ToInt32(sr.ReadLine());
a[i, j] = int.Parse(line.Split(new char[] { '\n' })[j]);
}
} [size=10px][/size]
string.Split(params char[])”最匹配的重载方法具有一些无效参数
FileStream fs = new FileStream(inname, FileMode.Open);
StreamReader sr = new StreamReader(fs , System.Text.Encoding.Default );
//string strLine = sr.ReadLine();
//while (strLine != null)
//{
// this.richTextBox1.Text += strLine + "\r\n";
// strLine = sr.ReadLine();
//}
int[,] a = new int[6, 6];//txt读入数组
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{ a[i, j] = Convert.ToInt32(sr.ReadLine());
//MessageBox.Show(a[i,j].ToString ()); }
}
label1.Text = Convert.ToString(a[0,1]);
我把richtextbox去了以后怎么还提示输入的字符串格式不正确呢