您的位置:程序门 -> .net技术 -> c#



大侠们,请问一下怎么在文本框读入一个文本文件,并把文本文件的每一行分别存到一个数组里?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


大侠们,请问一下怎么在文本框读入一个文本文件,并把文本文件的每一行分别存到一个数组里?
发表于:2008-01-23 16:11:06 楼主
大侠们,请问一下怎么在文本框读入一个文本文件,并把文本文件的每一行分别存到一个数组里?
为什么我这样做不   行?文本框2里面的内容少了一部分。
代码如下:

openfiledialog   aa   =   new   openfiledialog();
                              aa.filter   =   "text   file(*.txt) ¦*.txt ¦all   files(*.*) ¦*.*";
                              aa.filterindex   =   1;
                              aa.restoredirectory   =   true;
                              streamreader   sr   =   null;

                              string[]   pp=new   string[50];
                              string   line=null;

                              if   (aa.showdialog()   ==   dialogresult.ok)
                              {      
                                      //读取文本文件到   textbox1里。
                                      sr   =   new   streamreader(aa.filename,   system.text.encoding.default);
                                      textbox1.text   =   sr.readtoend();
                             
                                    //按行读取到数组pp里。
                                      sr   =   new   streamreader(aa.filename,   system.text.encoding.default);
                                      line   =   sr.readline();
                                      int   i   =   0;
                                      while   ((line   =   sr.readline())   !=   null)
                                      {
                                              pp[i]   =   sr.readline();

                                              i++;
                                      }

                                     
                              }
                              sr.close();

                                                       

                              //把字符串数组里的字符串多行显示到文本框里。
                              string   lf   =   null;
                              for(int   m=0;m <50;m++)
                              {
                                     
                                      lf   =   lf   +   pp[m]+"\r\n";                                      
                            }
                            textbox2.text   =   lf;


显示结果如下:
textbox1内容:




y
x
0
1
2
3
4
5


textbox2内容:

y
0
2
4
6
8

发表于:2008-01-23 16:27:431楼 得分:0
//按行读取到数组pp里。  
sr       =       new       streamreader(aa.filename,       system.text.encoding.default);  
line       =       sr.readline();       //这里已经读出了一行即“我”,被你漏掉
int       i       =       0;  
while       ((line       =       sr.readline())       !=       null)//   //这里又读出了一行即“是”,又被你漏掉
{  
          pp[i]       =       sr.readline();  

          i++;  
}  
发表于:2008-01-23 16:32:292楼 得分:0
那应该怎样改呢?
麻烦详细点指导一下。
发表于:2008-01-23 16:45:143楼 得分:0
非常感谢tuyile006
改为下面的样子就可以了。          

         
                                    sr   =   new   streamreader(aa.filename,   system.text.encoding.default);
                                      textbox1.text   =   sr.readtoend();

                                   
                                      sr   =   new   streamreader(aa.filename,   system.text.encoding.default);
                                   
                                      int   i   =   0;
                                      do
                                      {
                                              line   =   sr.readline();
                                              pp[i]   =   line;//sr.readline();

                                              i++;
                                        }
                                      while   (line   !=   null);

                                     
                              }
                              sr.close();


快速检索

最新资讯
热门点击