현재 파일 합치기 프로그램을 맹글다가, 처리속도가 적정 수준에 미치지 몬
하여, 이런 질문을 드리게 되었습니다.
전체적인 파일의 구성이 동일하기 때문에, 파일의 특정부분만을 삭제하구,
나머지 부분만을 합칠려구 합니다.
즉, a + b1 + c
a + b2 + c
a + b3 + c
............
............
............
이런 타입으로 파일들이 구성되어 있기 때문에,
각 파일을 읽어서, 선택부분만을 수정, 복사한 새로운 파일을 생성한후
그 파일들을 합치구 잇습니다..
a + (b1'+b2'+b3'+.....) + c 이런 식으로 하구 잇습니다.
파일의 자체 크기가 보통 8천라인 이상이구, 파일 각각의 크기는 다름니다.
그래서, 특정라인을 찾아야 하구, 특정라인에서 일부 수정하여야 하는 문
제도 잇습니다.
현재, ReadLn으로 각 라인을 체크, 특정라인일 경우, 그 부분을 수정하구,
다음 특정라인까지 복사하는 방식을 채택하엿습니다.. 이후, 수정된 파일
들을 하나루 합치는 걸루 마무리를 지었습니다.
파일 자체에서
특정 라인까지를 삭제,
특정 라인을 수정 할수 잇는 방법이 없을까요...?
모든 라인을 다 읽어서 라인별 체크하는것이 아니라,
특정 라인가지를 삭제, 해당 라인을 수정하여, 그 파일을
그대로 합치는 방법 말이죠...
이 문제에 대해 가르침을 받고저 합니다..
고수님들의 답변 기달림다.....^.^
그럼, 모든분들 .....즐프하세엽...^^
문자열로만된 텍스트 파일이라면 TStringList를 사용하시면 간단히 될거같군요...
파일을 가지고 직접작업하시는 것보다 수정,삭제, 추가 등이 쉽습니다...
Delete, Add, Insert등의 메소드를 지원하거든요...
var
StrList: TStringList;
I: Integer;
begin
StrList := TStringList.Create;
StrList.LoadFromFile(파일명...);
for I := 0 to 99 do
StrList.Delete(100); // 101번째라인부터 100라인 제거
......
end;
^^ 항상 즐코하세요...