한 번에 한 줄씩 파일에서 이진 데이터를 읽어야합니다. 하지만 그것은 내가 FileInputStream, 어떤 제안을 사용하여 한 번에 n 바이트를 읽을 수있을 것 같아?Java에서 한 번에 한 줄씩 이진 파일을 읽는 방법
FileInputStream inputStream = new FileInputStream("C:/dir/testfile");
byte[] buffer = new byte[3480];
inputStream.read(buffer);
이진 파일에는 "선"과 같은 것이 없습니다. 그것은 하나의 "것"이거나 레코드/필드를 기반으로하는 특정 형식의 문서화 된 형식으로 각각에 대해 읽을 바이트 수를 알려줍니다. –
그리고 읽을 때 반환 값을 변수에 저장하고 -1로 테스트 한 다음 버퍼의 데이터 길이로 사용하는 것이 중요합니다. read() 메서드는 버퍼를 채울 필요가 없습니다. – EJP
"라인"의 의미를 설명해주십시오. 분리 기호 ('\ n'과 같은)로 사용되는 특수 바이트가 있다면, 아마도 당신 자신이 열심히해야 할 것입니다. (즉, 바이트를 검색하고, 배열의 원하는 부분을'Arrays.copy'로 추출하고, 서브 어레이가 서로 다른 버퍼에 있다면 함께), 내가 알지 못하는 몇 가지 유용한 방법이 없다면 말이다. – ajb