파일은 UTF8 텍스트 파일입니다.오프셋을 알고있는 경우 큰 파일에서 줄을 얻는 방법
각 문자의 바이트 수는 다양하며 각 줄의 문자 수는 다양합니다.
vb.net에는 바이트 위치 기능 또는 이와 유사한 행 번호 테이블이 있습니까?
그 후에 어떻게 읽는가?
파일은 UTF8 텍스트 파일입니다.오프셋을 알고있는 경우 큰 파일에서 줄을 얻는 방법
각 문자의 바이트 수는 다양하며 각 줄의 문자 수는 다양합니다.
vb.net에는 바이트 위치 기능 또는 이와 유사한 행 번호 테이블이 있습니까?
그 후에 어떻게 읽는가?
StreamReader
클래스는 파일을 한 줄씩 읽는 데 일반적으로 사용되는 클래스입니다. 파일에서 읽은 내용에 대한 기록을 유지하지 않으므로 마지막 줄이 끝난 곳이나 다음 줄이 끝나는 곳을 알 수 없습니다. 요청이있을 때 (ReadLine
통해), 문자가 새로운 줄 문자열이나 파일의 끝에 도달 할 때까지 단순히 문자를 처리합니다.
StreamReader의 실제 구현을 모르지만 멀티 바이트 인코딩을 처리하기 위해 Encoding
클래스를 사용하고 잠재적으로 사전 읽기 데이터의 작은 버퍼 만 유지한다고 가정합니다 (읽기 청크 지금 필요한 10 바이트보다 낫습니다.) 현재 줄의 문자와 같은 다른 버퍼는 그 (것)들을 필요로하는 ReadLine
같이 기능에 현지 주민일 것입니다.
무작위로 탐색해야하는 경우 BaseStream
속성을 사용하여 자신을위한 행 시작 표를 생성 한 다음 해당 행을 원하는 행의 시작 부분으로 검색해야합니다. 거기에서 평소처럼 ReadLine
을 사용할 수 있어야합니다.
streamreader에 오프셋 속성이 없음을 알았습니다. 베이스 스트림이 킥킥 거리는 곳인가요? 네, 저는 라인 시작 테이블이 필요합니다. –
+1. 그게 다야. 알았다. –