2013-07-24 3 views
-1

asp.net에서 텍스트 파일의 특정 줄을 변경해야합니다. 특정 줄의 텍스트 만 바꾸거나 바꿀 수 있습니까 ?? 텍스트 파일에서 replace 함수를 사용했지만 전체 파일의 텍스트를 대체합니다. 나에게 지정된 한 줄만 바꾸고 싶다. 응답을 기다리는asp.net에서 텍스트 파일의 특정 라인을 편집 하시겠습니까?

.. 사전에

감사합니다 ..

+0

시도한 내용에 대한 자세한 정보가 필요하며 변경할 행을 결정하기위한 프로그래밍 방식 규칙은 무엇입니까? 또한 StackOverflow는 코드를 작성하는 것이 아니라 문제를 해결하는 데 도움이됩니다. 어떤 사람들은 먼저 문제를 풀려고 시도했음을 보여 주면됩니다. –

+0

예, StreamReader.ReadLine()을 사용하여 한 줄씩 파일에서 읽을 수 있으며 바꿀 텍스트가 있으면 그 줄을 검색 할 수 있습니다. – andrewb

답변

6

파일 시스템은 일반적으로 직접 바이트 단위를 덮어 쓰는 것보다 파일 내에서 다른을 편집 할 수 없습니다. 텍스트 파일이 모든 줄에 대해 동일한 바이트 수를 사용하면 텍스트 줄을 매우 효율적으로 바꿀 수 있습니다. 그러나 요즘은 드문 경우입니다. ,

  • 로드 File.ReadAllLines를 사용하여 메모리에 전체 파일을 해당 줄을 변경 한 다음 File.WriteAllLines를 사용하여 다시 쓰는 :

    그것은 이러한 옵션 중 하나를 수행해야한다는 점 더 가능성이 높습니다. 이것은 메모리면에서 비효율적이지만 코드 작성은 정말 간단합니다. 파일 크기가 작 으면 좋은 옵션입니다.

  • 입력 파일과 새 출력 파일을 엽니 다. 입력에서 한 번에 한 줄의 텍스트를 읽고 출력에 복사하거나 다른 줄을 쓰십시오. 그런 다음 두 파일을 닫고 입력 파일을 삭제하고 출력 파일의 이름을 바꿉니다. 한 번에 한 줄의 텍스트 만 메모리에 저장하면되지만, 상당히 까다 롭습니다.

두 번째 옵션은 또 다른 이점이있다 - 당신은 (단계 이름을 바꾸 많이 사용) 주위에 파일을 셔플 수 있도록 에서 어떤 점 출력 파일이 알려진 경우를 제외하고 당신이 이제까지 입력 파일을 잃을 가능성이 할 수 없음 올바른 장소에서 완벽하게 그것은 훨씬 더 복잡합니다.

관련 문제