2012-11-26 2 views
-1

텍스트 파일 (메모장 txt 파일)에서 데이터를로드하고 목록 상자에 표시하는 데 문제가 있습니다. 다음은 내 코드입니다. 왜 데이터가로드되지 않는지 확실하지 않습니다.텍스트 파일의 데이터를 목록 상자에 추가

private void loadData() { 
     try { 
      using (StreamReader reader = new StreamReader("visits.txt"))  //Reads in file 
      { 
       string line; 
       while ((line = reader.ReadLine()) != null) { 
        string[] data = line.Split(',');    //Splits the lines up when there is a , 
        lstDeliveries.Items.Add(data[0] + ", " + data[1] + ", " + data[2]); 
        lstPickups.Items.Add(data[3] + ", " + data[4]);            
       } 
      } 
     } 
     catch (FileNotFoundException) { 
      MessageBox.Show("The file was not found!!");  //Provides error if file not found 
      Environment.Exit(0);      //Closes application 
     } 
    }   
+2

그리고 질문은 ... –

+0

당신은 적어도 문제의 설명, 난 당신이 라인은'시스템 아무것도를 보유하고 있는지 확인하기 위해 디버그 문을 추가 할 수 있습니다 – horgh

+0

를 제공 할 수있다. Diagnostics.Debug.WriteLine (line); ' – littledevils326

답변

2

당신은 어떤 종류의 문제를 제공하지 않았습니다. 파일의 일부 줄에 예기치 않은 형식이 있다고 가정합니다. 데이터 배열이 적어도 5 항목이 확인하는 조건을 추가

string[] data = line.Split(','); 
if (data.Length >= 5) 
{    
    lstDeliveries.Items.Add(String.Format("{0}, {1}, {2}", data[0], data[1], data[2]); 
    lstPickups.Items.Add(String.Format("{0}, {1}", data[3], data[4]); 
} 

또한 String.Format은 형식 문자열에 더 나은 옵션입니다.

+0

왜 길이> = 5입니까? – littledevils326

+0

@ littledevils326 배열'data [4]' –

+0

에서 다섯 번째 항목에 액세스하려고했기 때문에 @ littledevils326이 작동했습니다. 어쩌면 내가 어리석은하지만 난 아직도 이해가 안되면 (data.Length> = 5) – littledevils326

관련 문제