StreamReader.WriteLine()을 사용하여 데이터를 가져온 후 txt 파일에서 한 줄을 제거하려고합니다. 하지만 웹에 대한 유용한 참조를 얻을 수 없습니다. 누군가는 Repalce() 메서드로 처리 할 수 있다고 말합니다.하지만 나는 그 효율성을 생각하지 않습니다. 누구나 해결 방법을 알려 줄 수 있습니다. 감사!C# : Txt 파일의 한 줄 제거
0
A
답변
4
파일의 중간 부분을 제거 할 수 없습니다. 그 시점부터 모든 것을 다시 작성하거나 전체 파일을 다시 작성해야합니다. 그리고 StreamReader/StreamWriter를 사용하는 경우에는 파일 위치에 대한 액세스 권한이 없으므로 유일한 선택은 전체 파일을 다시 작성하는 것입니다.
다음은이를 수행하는 방법의 예입니다.
public static void RemoveLines(Predicate<string> removeFunction,string file){
string line, tempFile = null;
try{
tempFile = Path.GetTempFileName();
using (StreamReader sr = new StreamReader(file))
using (StreamWriter sw = new StreamWriter(tempFile,false,sr.CurrentEncoding))
while ((line = sr.ReadLine()) != null)
if (!removeFunction(line)) sw.WriteLine(line);
File.Delete(file);
File.Move(tempFile, file);
}finally{
if(tempFile != null && File.Exists(tempFile))
File.Delete(tempFile);
}
}
은 10 자 길이의 모든 라인을 제거이
RemoveLines(line=>line.Length==10,"test.txt")
처럼 사용하고, 관련된 위험을 최소화하기 위해 임시 파일을 사용합니다. 물론, 당신이 뭔가를 더 짧게하고 싶다면 당신은 이와 비슷한 것을 할 수 있습니다.
File.WriteAllLines(fileName,File.ReadAllLines(fileName).Where(line => line.Length != 10))
더 많은 작업 메모리를 필요로하고, 당신은 아마 손상된 파일을 일으키는 컴퓨터 충돌에 대비하기 위해 임시 파일/이동 트릭을해야한다. 그러나 이해하기 쉽고 간결한 코드입니다.
관련 문제
- 1. 다음 문이 txt 파일의 줄 번호를 제거합니다
- 2. .txt 파일의 각 줄 시작에 텍스트 추가
- 3. 토큰을 기반으로 txt 파일의 줄 삭제
- 4. 자산의 txt 파일 한 줄 읽기
- 5. txt 파일의 불균일 한 데이터를 msql 데이터베이스로로드
- 6. txt 파일의 문자열 변경
- 7. txt 파일의 경로를 가져
- 8. .txt 파일의 파일 경로 저장
- 9. txt 파일의 행을 읽으십시오. [java]
- 10. 한 파일의 최대 줄 수는 무엇입니까?
- 11. Xcode iPhone : .txt 파일에서 텍스트 제거
- 12. 파일의 마지막 줄 삭제하기
- 13. 배치 파일의 명령 줄?
- 14. 제거 줄 바꿈과 공백
- 15. Strim 텍스트 파일의 줄 (Windows)
- 16. 배치를 사용하여 TXT 파일의 문자를 바꾸시겠습니까?
- 17. URL에서 Android로 txt 파일의 내용 가져 오기
- 18. 디렉토리에서 여러 .txt 파일의 문자열을 출력합니다.
- 19. .txt 파일을 다른 .txt 파일의 끝에 넣을 수 없습니다.
- 20. 파일 무게와 텍스트 파일의 줄 수는? (C#)
- 21. 텍스트 파일의 줄 삭제
- 22. 제거 줄 바꿈은
- 23. 텍스트에서 여러 줄 제거
- 24. 파일의 줄 바꾸기
- 25. C++ txt 파일 읽기?
- 26. VB에서 txt 파일의 특정 줄을 읽습니다 .net
- 27. glassfish v3.0에서 .txt 파일의 경로를 찾는 방법
- 28. .NET의 ".txt"파일의 파일 헤더를 설정하십시오.
- 29. 삭제 txt 파일의 모든 데이터 - PHP
- 30. TXT 파일의 일괄 처리/찾기 및 편집
불충분 한 방법으로 간주하는 이유는 무엇입니까? –