在以下代码中,如何直接读出文本文件中的第三行文字而不需要这么多的ReaLn?另外
如何得到文本文件的总行数?
procedure TForm1.Button2Click(Sender: TObject);
var
str:string;
txtFile:TextFile;
begin
AssignFile(txtFile,'D:\1.txt');
ReSet(txtFile;
ReadLn(txtFile,str); {读第一行}
ReadLn(txtFile,str);  {读第二行}
ReadLn(txtFile,str);  {读第三行}
edit1.text:=str;
CloseFile(txtFile);
end;

解决方案 »

  1.   

    用TStringList,但这种方法是先把文件全部读入,
    procedure TForm1.Button2Click(Sender: TObject);
    var
      sl: TStringList;
      str: string;
    begin
      sl := TStringList.Create;
      sl.LoadFromFile('D:\1.txt');
      str := sl[2];  // 第三行
      ShowMessage(IntToStr(sl.Count)); // 总行数
      sl.Free;
    end;
      

  2.   

    用INI文件最好,可以直接读取内容,而且很快。
    Borland\Delphi7\Source\Rtl\Common\inifiles.pas
      

  3.   

    java.io.File  yourfile1 = new java.io.File("yourfile.txt");
    java.io.RandomAccessFile yourfile2 = new java.io.RandomAccessFile(yourfile1,"rw"); 
    yourfiles.seek(0,3);
    yourfiles.readln(yourstring);
    System.out.println(yourstring);仅供参考,清查javadoc