private boolean debugOutputMode = false;
/**
*
* @param fileHeader
* @return True 일경우 PDF 또는 TIFF 파일
*/
public boolean CheckFileHeaderTiffOrPdf(byte[] fileHeader) {
try {
String tiffHeaderChk = new String(Arrays.copyOfRange(fileHeader, 0, 2));
if(debugOutputMode)
System.out.println(String.format("tiffHeaderChk=%s",tiffHeaderChk));
//Little Endian 또는 BigEndian 일 경우
if(tiffHeaderChk.equals("II") || tiffHeaderChk.equals("MM"))
return true;
String PdfHeaderChk = new String(Arrays.copyOfRange(fileHeader, 0, 5));
if(debugOutputMode)
System.out.println(String.format("PdfHeaderChk=%s",PdfHeaderChk));
if(PdfHeaderChk.equals("%PDF-"))
return true;
} catch(Exception exception) {
if(debugOutputMode)
System.out.println(exception);
}
return false;
}
메서드 호출 시에 Parameter는 File의 ByteArray의 8바이트만 전달 하였습니다.
ex)
CheckFileHeaderTiffOrPdf(Arrays.copyOfRange(fileByteArray, 0, 8))
'JAVA' 카테고리의 다른 글
[Zip4j] 압축 파일 안의 파일명 UTF-8 여부 확인 하여 압축 해제 테스트 진행 (0) | 2024.07.08 |
---|---|
[SpringBoot] Windows Eclipse lombok @Slf4j Annotation 사용 시 log. 으로 접근 되지 않을 시에 해결 방안 (0) | 2024.06.10 |
[Java stream] anyMatch를 이용한 list 간의 join 진행 테스트 (0) | 2024.05.21 |
[SpringBoot] Eclipse를 이용한 Spring Starter Project 생성 후 실행 시에 기본 로그인 페이지 제거 하기 (0) | 2024.05.20 |
[JAVA] ArrayList Stream 이용 , string join 예제 입니다. (0) | 2024.05.06 |