지도 축소 프로그래밍에 Java를 사용하고 있습니다.ByteArray - bytearray.tostring()을 사용하지 않고 문자열 비교
10MB 데이터가있는 바이트 배열이 있습니다. 나는 그것이 공간인지 아닌지 알아보기 위해 각각의 바이트를 비교하기를 원한다. 나의 기본적인 목적은 스페이스를 사용하여 단어를 분리함으로써이 바이트 배열의 각 단어를 얻는 것이다 (이것이 내 아이디어 다. 다른 제안은 환영이다). 문자열을 사용하여 확실히 할 수 있습니다. 즉 처음에는 전체 바이트 배열을 문자열로 변환 한 다음 비교 한 다음 각 단어를 가져 오기 위해 부분 문자열을 수행하지만 데이터를 복제합니다. 나는 stringbuilder, StringTokenizer, substring과 같은 복제물을 만드는 것을 원하지 않는다.
나는 bytearray에있는 각 단어를 원하지만, 나는 메모리 컴퓨팅에서하고 있고 중복으로 인해 자원이 부족해지기 때문에 중복이 없다. 어떤 제안/아이디어가 진행될지를 알 수 있습니다. 그냥 (그리고 단어 문자열이 OK입니다) 전체 배열의 문자열을 만들지 않도록하려면
, 당신은 바이트하여 파일 바이트를 읽을 수 있습니다 그것을 공간에 해당하는 ASCII 코드와 비교하십시오. – mok
그럴 수 없습니다. 이 바이트 배열이 나타내는 문자는 무엇인지 모릅니다. _some_ 인코딩의 경우 공백 문자에 대한 1 - 2 바이트의 <-> char 숫자 매핑이 있지만 그 정보에 의존하고 싶습니까? – fge
그래서 아마, 나는 어떤 인코딩이 사용되고 있는지에 대한 점검을 할 수 있으며, char 문자 코드 비교에 의한 char을 사용할 수있다 ... 그것을 수행하는 방법을 찾고있다. charAt 위치가 공백 문자로 ASCII가되도록 확인하는 byteArray.getCharAt (pos)와 같은 함수 – drk