string filename = this.txtbox_filename.Text+@"\"+this.listBox_file.SelectedItem.ToString();
StreamReader myreader = null;
try
{
myreader = new StreamReader(filename,System.Text.Encoding.Default);
this.listbox_filehead.Items.Clear();
for(int i=0;i<=8;i++)
this.listbox_filehead.Items.Add(myreader.ReadLine());
string[] mysubstring;
while (myreader!=null)
{
int n=1;
mysubstring=myreader.ReadLine().Split(',');
DataRow dr = mydataset.Tables["mytable"].NewRow();
foreach(string i in mysubstring)
{
if (n==1)
dr["depth"]=i.ToString();
if (n==2)
dr["az"]=i.ToString();
if (n==3)
dr["af"]=i.ToString();
if (n==4)
dr["bz"]=i.ToString();
if (n==5)
{
dr["bf"]=i.ToString();
n=0;
}
n++;
}....
我调试的时候发现,文件读完后,就是while(myreader!=null)的时候,并不跳出while,而是继续执行!
请教各位高手,哪里有误?谢谢!
StreamReader myreader = null;
try
{
myreader = new StreamReader(filename,System.Text.Encoding.Default);
this.listbox_filehead.Items.Clear();
for(int i=0;i<=8;i++)
this.listbox_filehead.Items.Add(myreader.ReadLine());
string[] mysubstring;
while (myreader!=null)
{
int n=1;
mysubstring=myreader.ReadLine().Split(',');
DataRow dr = mydataset.Tables["mytable"].NewRow();
foreach(string i in mysubstring)
{
if (n==1)
dr["depth"]=i.ToString();
if (n==2)
dr["az"]=i.ToString();
if (n==3)
dr["af"]=i.ToString();
if (n==4)
dr["bz"]=i.ToString();
if (n==5)
{
dr["bf"]=i.ToString();
n=0;
}
n++;
}....
我调试的时候发现,文件读完后,就是while(myreader!=null)的时候,并不跳出while,而是继续执行!
请教各位高手,哪里有误?谢谢!
FileInfo fi = new FileInfo (_filepath);
FileStream fs;
//将文件读取到文件流中
fs = fi.OpenRead ();
//声明一读取文件流类的实例,用以读取文件流
StreamReader sr = new StreamReader (fs);
string myreader = sr.ReadLine() ;//文件数据
while(myreader != null)
{
...//做处理
myreader = sr.ReadLine();
}
{
while (sr.Peek() >= 0)
{
Console.Write((char)sr.Read());
}
}也可以判断
while(myreader.Read() != -1)
{}