2012-11-30 3 views
0

텍스트 파일의 줄을 표시하는 목록 상자가 있습니다.텍스트 파일에서 선택된 인덱스 제거

private void Read() 
    { 
     string filePath = @"//Filepath"; 

     List<String> listOfDels = viewlist.listDeliveries(); 

     using (var streamReader = new StreamReader(filePath, Encoding.Default)) 
     { 
      while (!streamReader.EndOfStream) 
      { 
       listOfDels.Add(streamReader.ReadLine()); 
       listBox1.Items.Clear(); 

       listBox1.Items.AddRange(listOfDels.ToArray()); 
      } 
     } 
    } 

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { //Remove line from txt file 
    } 
+0

왜 내가 목록 상자에서 항목을 클릭하고 목록 상자 및 텍스트 파일에서 제거 할 수 있도록 어떻게 그것을 만들 수를 삭제하는'Items' 당신이 라인을 읽을 때마다? –

+0

더 많은 항목을 추가 할 때 업데이트하십시오. – user1353517

+0

끔찍한 일을하고 있다고 생각합니다. 목록에 데이터를 추가 한 다음 즉시 여러 번 삭제합니다. while 루프 외부에서 Clear 및 AddRange 호출을 이동하십시오. –

답변

1
string tempFile = Path.GetTempFileName(); 

using(var sr = new StreamReader("file.txt")) 
{ 
using(var sw = new StreamWriter(tempFile)) 
{ 
    string line; 

    while((line = sr.ReadLine()) != null) 
    { 
     if(line != "removeme") 
      sw.WriteLine(line); 
    } 
} 
} 

File.Delete("file.txt"); 
File.Move(tempFile, "file.txt"); 
+0

이것은 오류를 반환하지 않지만 아무것도 수행하지 않습니다. S – user1353517