텍스트 파일을 읽는 파서의 진행 상황을 표시하는 진행률 표시 줄을 만들려고합니다.파일 크기가 바이트 단위로 모든 줄의 합계 바이트 크기와 같지 않은 이유는 무엇입니까?
내가 fileSize = FileInfo(file).Length
모든 반복에를 사용하여 파일의 바이트를 읽고, 그렇게하기 위해, 나는 내가 완성 읽고있을 때 가정
sum += reader.CurrentEncoding.GetByteCount(currentLine)
사용하여 현재 행의 바이트 합계 전체 파일 sum
은 fileSize
과 같아야합니다.
하지만 그렇지 않습니다. sum
은 항상 fileSize
보다 수천 바이트 낮습니다. 왜 이런거야? 이미 구문 분석 한 파일의 수를 표시하는 진행률을 올바르게 만들려면 어떻게해야합니까?
누락 된 바이트 수는 파일의 줄 수와 같거나 그 이상입니까? –
아마도 reader.CurrectEncoding.GetByteCount는 캐리지 리턴/줄 피드백 문자를 계산하지 않습니까? – Arne
당신은 개행 문자의 바이트 수를 계산하고 있습니까? – Rotem