크기가 기가 바이트 이상인 텍스트 파일의 모든 줄을 반복해야하는 응용 프로그램이 있습니다. 이 파일 중 일부는 10 또는 100의 수백만 라인이 있습니다.C# 2.0에서 비동기 파일 읽기를 수행하는 방법?
내 전류 (동기) 읽기의 예는,
using (FileStream stream = new FileStream(args[0], FileMode.Open, FileAccess.Read, FileShare.Read)) {
using (StreamReader streamReader = new StreamReader(stream)) {
string line;
while (!string.IsNullOrEmpty(line = streamReader.ReadLine())) {
//do stuff with the line string...
}
}
}
내가 닷넷 비동기 IO 스트리밍 방법에 대한 몇 가지 물건을 읽고 ... 같은 것을보고, 나는 2를 몇 가지 도움이 후입니다 이 문제와 관련된 특정 질문.
첫째로, 나는 ussually 짧은 각 줄의 전체가 필요하지만 비동기 적으로 이러한 파일을 읽음으로써 성능 향상을 얻을 수 있지만 길이가 다양합니다 (파일의 각 줄 사이에는 아무 관계도 없습니다) ?
둘째, 위의 코드를 비동기 읽기로 변환하려면 어떻게해야합니까? 지금은 각 행을 하나씩 처리 할 수 있습니까?
이 코드는 완벽합니다. 비동기 파일 읽기에 대해서도 동일한 작업을 수행합니다. –
동의합니다. 이것은 달콤합니다. 동일한 문제에 대해 다른 해결책을 고안하는 동안 많은 노력을 덜어 줬습니다. – Skurmedel