2011-01-31 4 views
0

파일에서 거꾸로 읽어야합니다. 내가 무엇을하고 싶으면 파일을 거꾸로 읽은 다음 뒤로 이동하여 값 = G인지 또는 16 진수 47인지 확인한 후 다음 값 = N인지 또는 16 진수 4E인지 확인한 후 다음 값 = P인지 확인합니다 . 나는 현재 확인하려면 .. 여기 바이너리 파일을 뒤로 읽으십시오.

더 무슨 뜻인지 보여줍니다 이미지에 대한 링크입니다 ... 사용 후 http://www.facebook.com/photo.php?pid=2189508&l=92393dfccb&id=1283154964

String s = Integer.toHexString(hexIn); 
    if(s.length() < 2){ 
    s = "0" + Integer.toHexString(hexIn); 
    } 

을에서 읽을 수있는 바이너리 IO를 사용하고 있습니다 16 진수는 마지막에 아무 0도 놓치지 않습니다 (이 사이트에서 찾은 :) :

+0

더 높은 수준에서 수행하려고하는 것을 언급 한 경우 도움이 될 것입니다 ... – thkala

+0

버퍼를 64K로 말하고 뒤로 스캔하십시오. – bestsss

+2

이미 파일을 거꾸로 읽는 것에 대한 질문을 이미 받았으므로 답변을 수락 : http://stackoverflow.com/questions/4841148/read-binary-file-backwards-using-java. 다시 같은 질문을함으로써 사람들의 시간 낭비를 그만 둔다. 또는 적어도 "명확한 질문"을하십시오. 질문이 너무 혼란 스럽기 때문에 여기에 나오는 모든 조언이 마지막 게시와 동일한 지 확인하십시오 !! – camickr

답변

0

상상할 수 있듯이 거꾸로 읽는 것이 정상적인 것이 아니므로 일부 작업을 수행해야합니다. g 이상한.

하지만 색인을 파일에 직접 배치하십시오. 당신이 그렇게했다면, 끝에 그것을 놓고, 바이트를 읽은 다음, 그것을 (end-1)에 놓고, 바이트를 읽는 등등, 성공할 것입니다.

끔찍한 속도 일 것이므로, 마지막으로 버퍼에서 끝까지 읽은 다음 다시 버퍼를 통과 한 다음 버퍼를 다시 채 웁니다.

This tutorial은 Java의 임의 액세스 입출력에 대해 알려줍니다.

0

RandomAccessFile은 파일을 역방향으로 읽는 데 가장 쉬운 클래스입니다.

1

파일을 거꾸로 읽은 다음 문자열을 찾으십시오. 앞으로 문자열에서 파일을 되돌리고 파일에서 찾으십시오. 그게 더 쉬운 해결책 인 것 같습니까?

관련 문제