C#编程问题:
想将下面txt格式文件的冒号左边的读入数组ro[i]中,冒号右边的读入数组uo[i]中。最好给出源代码。谢谢啦!!!
2001:张三
2045:李四
7130:李五
0130:李流
7131:李启
0802:李八
0343:王五
0744:冯小明
0304:刘德华
0716:张学友
0047:阿毛
0449:阿狗大家帮帮忙
想将下面txt格式文件的冒号左边的读入数组ro[i]中,冒号右边的读入数组uo[i]中。最好给出源代码。谢谢啦!!!
2001:张三
2045:李四
7130:李五
0130:李流
7131:李启
0802:李八
0343:王五
0744:冯小明
0304:刘德华
0716:张学友
0047:阿毛
0449:阿狗大家帮帮忙
System.IO.StreamReader reader = new System.IO.StreamReader("c:\\1.txt",Encoding.Default);
while (!reader.EndOfStream)
{
string s = reader.ReadLine();
int i = s.IndexOf(':');
//下面提出的文字放到数组
MessageBox.Show(s.Substring(0,i));
MessageBox.Show(s.Substring(i+1,s.Length-i-1));
}
using System;
using System.Text;
using System.Collections.Generic;
using System.Collections;
using System.IO;
class test
{
static void Main()
{
StreamReader sr=new StreamReader(@"c:\1.txt",Encoding.Default);
ArrayList ro=new ArrayList();
ArrayList uo=new ArrayList();
while(sr.Peek()>0)
{
string[] s=sr.ReadLine().Split(':');
ro.Add(s[0]);
uo.Add(s[1]);
}
for(int j=0;j<ro.Count;j++)
{
Console.WriteLine(ro[j]+" "+uo[j]);
}
}
}
编译通过
我3楼的代码加注释重发一遍呵呵:using System;
using System.Text;
using System.Collections.Generic;
using System.Collections;
using System.IO;
class test
{
static void Main()
{
//使用StreamReader将文本文件以流的形式读入
StreamReader sr=new StreamReader(@"c:\1.txt",Encoding.Default);
List<string> ro=new List<string>(); //定义两个ArrayList型数组,因为ArrayList是可变的,添加元素非常容易。当然用泛型List<string>也很容易,原理一样。我这次改为泛型List了,注意和3楼代码的不同之处
List<string> uo=new List<string>();
//下面开始读txt文件,sr.Peek()>0表示:当还没有读到末尾的时候
while(sr.Peek()>0)
{
string[] s=sr.ReadLine().Split(':'); //根据:拆分,按楼主要求将:的两部分读入不同的数组
ro.Add(s[0]);
uo.Add(s[1]);
}
//遍历数组,打印数组元素
for(int j=0;j<ro.Count;j++)
{
Console.WriteLine(ro[j]+" "+uo[j]);
}
}
}哈哈双星啊
StreamReader sr = new StreamReader(@"c:\1.txt", Encoding.UTF8);
while (!sr.EndOfStream)
{
string[] s = sr.ReadLine().Split(':');
if (s.Length >= 2)
Response.Write(s[0]);
}
while (!sr.EndOfStream)
{
string[] s = sr.ReadLine().Split(':');
if (s.Length >= 2)
Response.Write(s[0]+"左边数据...."+s[1]+"右边数据");
}
不过我建议 取出来后 分别放入 键值对 中,这样方便之后的 操作。不过要在编号是唯一的前提下不建议 数组 ro[i] 和 uo[i]
http://topic.csdn.net/u/20110323/14/6f5cce20-4d7e-45f8-a932-af5df9e1c3f5.html?87729
步骤:
1,在窗体上拖一个按钮控件button1,一个富文本框richTextBox1
2,双击button1进入代码,添加命名空间:
using System.IO; //默认不包含该命名空间
在自动生成的button1_Click事件中填写代码:
private void button1_Click(object sender, EventArgs e)
{
//打开文件对话框
OpenFileDialog ofd = new OpenFileDialog();
//Filter属性设置只允许打开txt文件
ofd.Filter = "文本文件(*.txt)|*.txt";
//不允许多选
ofd.Multiselect = false;
if (ofd.ShowDialog() == DialogResult.OK)
{
//使用StreamReader将选择的文本文件以流的形式读入
StreamReader sr = new StreamReader(ofd.FileName,Encoding.Default);
//定义两个ArrayList型数组,因为ArrayList是可变的,添加元素非常容易。当然用泛型List<string>也很容易,原理一样。我这次改为泛型List了,注意和3楼代码的不同之处
List<string> ro = new List<string>();
List<string> uo = new List<string>();
//下面开始读txt文件,sr.Peek()>0表示:当还没有读到末尾的时候
while (sr.Peek() > 0)
{
string[] s = sr.ReadLine().Split(':'); //根据:拆分,按楼主要求将:的两部分读入不同的数组
ro.Add(s[0]);
uo.Add(s[1]);
}
//遍历数组,打印数组元素
for (int j = 0; j < ro.Count; j++)
{
richTextBox1.Text += ro[j]+" "+uo[j]+"\n"; //末尾打印个换行,看上去更直观
} }
}
运行程序,在富文本框richTextBox1中会显示:2001 张三
2045 李四
7130 李五
0130 李流
7131 李启
0802 李八
0343 王五
0744 冯小明
0304 刘德华
0716 张学友
0047 阿毛
0449 阿狗