Q&A

  • 텍스트 파일내에 특정 문자열 찾아서 바꾸기
텍스트 파일내의 특정문자열을 찾아서 바꾸려고 하는데

영 안되내요



텍스트 파일이 90MByte가 넘어서 복사본으로 작업을 하기도 뭐하기도

해서 참 고민입니다.

델 고수님 조언좀 부탁해요

1  COMMENTS
  • Profile
    조준래 2000.04.08 02:35
    90M 를 메모리에 할당하지 마시고 (TRichEdit 등을 이용해서) 파일을 부분적으로 읽어 변환하는 방법을 사용하셔야 겠네요.

    예를 들어,,



    const

    SrcName = 'a.txt';

    DestName = 'b.txt';

    var

    FSrc, FDest: TextFile;

    Line: string;

    begin

    AssignFile(FSrc, SrcName);

    Reset(FSrc);

    AssignFile(FDest, DestName);

    Rewrite(FDest);

    while not Eof(FSrc) do begin

    Readln(FSrc, Line);

    Line := ReplacePattern(Line); // Replace patterns

    Writeln(FDest, Line);

    Application.ProcessMessages; // * if you need

    end;

    Flush(FDest);

    CloseFile(FSrc);

    CloseFile(FDest);

    end;



    별 대단한 해답도 아니죠?? 아님 제가 질문을 너무 단순하게 생각했나요.



    seagod wrote:

    > 텍스트 파일내의 특정문자열을 찾아서 바꾸려고 하는데

    > 영 안되내요

    >

    > 텍스트 파일이 90MByte가 넘어서 복사본으로 작업을 하기도 뭐하기도

    > 해서 참 고민입니다.

    > 델 고수님 조언좀 부탁해요