데이터가 포함 된 파일이 있는데 byte []로 읽고 3 개의 블록으로 나누고 싶습니다. 첫 번째 줄은 문자열로 읽은 다음 두 번째 블록은 1-3 줄 길이이고 나머지 바이트는 모두 블록 3으로 읽습니다.
나는 어떻게 그 블록 1과 블록 2가 byte []로 이루어진 문자열이고, 블록 3이 byte []로 유지 될 수 있는지 궁금합니다.
파일:
00256000 12 // block 1 single line
a2#b2#c2#d2#e2# //
1# // block 2 readline doesn't fit, unknown length of lines
1# //
—q3л // block 3 left bytes
FileStream.Read (bytes, 0, file.length)를 시도했지만 모든 바이트 만 읽습니다.
StreamReader.ReadLine ()은 첫 번째 줄에만 적합하지만 바이트가 아닌 일반 문자열을 읽고 '\ n', '\ r'등을 건너 뜁니다.
나는 파일을 읽는 것이 더 좋은 방법을 모르고 정확한 블록 크기를 갖기 위해 모든 바이트를 읽고 어떻게 든이 3 블록으로 나누는 것이 완벽 할 것입니다.
모든 바이트를 읽고 줄 끝을 검색하는 버퍼를 통해 반복 할 수 있습니다. 줄 끝을 찾으면 텍스트 부분을
string text = Encoding.UTF8.GetString(buffer, start_len, end_len);
추신 정확한 인코딩을 사용하십시오 ... UTF8이 예입니다 ...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다