2010-04-18 7 views
0

파일 배열에서 읽는 방법은 무엇입니까? 파일에서 문자를 읽는 방법은 무엇입니까?파일에서 문자 읽기 - C#

죄송합니다.

upd : 예, 할 수 있습니다. just : "1 2 3 4 5 6 7 8"등등. 나는 파일에서 문자를 읽는 법을 모른다.

+2

당신은 파일이 어떻게 생겼는지의 예를 붙여 넣을 수 있습니까? 여기에 처음 몇 줄을 붙여 넣으십시오. –

+1

파일은 바이트의 배열입니다. 문자를 읽으려면 파일의 인코딩을 알아야합니다. 읽으려고하는 파일의 예제를 게시하거나 이진 파일이 구조를 설명하는 경우 게시 할 수 있습니까? –

+0

"1 2 3 123 1231 12"등의 숫자입니다. – Saska

답변

3
string[] numbers = File.ReadAllText("yourfile.txt").Split(' '); 

또는 정수로 변환 할 수 있습니다 :

int[] numbers = File 
    .ReadAllText("yourfile.txt") 
    .Split(' ') 
    .Select(int.Parse) 
    .ToArray(); 
+0

글쎄, 예외를 던질 수있는 잘못된 정수에주의하십시오. – Nayan

+0

파일을 자동으로 무시하지 않고 파일을 구문 분석하는 동안 문제가 있음을 사용자에게 알리기 위해 예외를 throw하는 것이 더 나은 경우가 있습니다. 물론 이것은 여기에 자세히 설명되어 있지 않은 애플리케이션 요구 사항에 전적으로 달려 있습니다. –

1

파일이 너무 크지 않은 경우 예를 들어 ReadAllLines을 사용하여 메모리에 전체를 읽고 TryParse를 사용하여 문자열을 정수로 해석 할 수 있습니다. 다음은 시작 지점으로 사용할 수있는 몇 가지 예제 코드는 다음과 같습니다

이 파일은 항상 Parse를 사용하는 대신 TryParse하여이 작업을 약간 단순화 할 수 있습니다 유효한 입력이 포함됩니다 것을 알고있는 경우
List<int> integers = new List<int>(); 
foreach (string line in File.ReadAllLines(path)) 
{ 
    foreach (string item in line.Split(' ')) 
    { 
     int i; 
     if (!int.TryParse(item, out i)) 
     { 
      throw new Exception("Implement error handling here"); 
     } 

     integers.Add(i); 
    } 
} 

.

+0

유일하게 답변 예외 처리에 투표 할 것입니다. 잘 했어! – Nayan