2011-11-10 4 views
0

텍스트 파일로 데이터베이스를 관리하고있는 ATM 소프트웨어 시스템을 개발 중입니다. 텍스트 파일에서 레코드를 삭제하고 싶습니다. 내 레코드는 텍스트 파일에 한 줄씩 저장됩니다. 인터넷에서 업데이트 코드를 발견했지만이 방법으로 계정을 삭제하고 싶습니다. 도와주세요.C에서 파일에서 레코드를 삭제하고 싶습니다

StringBuilder newFile = new StringBuilder(); 
string temp = ""; 
string[] file = File.ReadAllLines(@"C:\Documents and Settings\john.grove\Desktop\1.txt"); 
foreach (string line in file) 
{ 
    if (line.Contains("string")) 
    { 
     temp = line.Replace("string", "String"); 
     newFile.Append(temp + "\r\n"); 
     continue; 
    } 
    newFile.Append(line + "\r\n"); 
} 

File.WriteAllText(@"C:\Documents and Settings\john.grove\Desktop\1.txt", newFile.ToString()); 
+3

이 큰 파일을 매우 비효율적 일 것이다. 그래서 대부분의 사람들은 자신의 데이터베이스를 데이터베이스에 저장합니다. –

+0

필자의 요구 사항은 문자 취급입니다. – Smoker

+3

@Smoker는이 숙제입니까? –

답변

0

이 스트리밍 더 낫다 :

string lines = File.ReadLines(path) 
        .Select(line => line.Replace("string", "String")); 
File.WriteAllLines(newPath, lines); 
+0

그런 다음 newPath의 이름을 [old] Path로 바꿀 수 있습니다. –

관련 문제