파일이 주어진 유형의 실제 유형인지 여부를 결정해야하며,이를 수행하는 가장 좋은 방법이 무엇인지 궁금합니다.Java/Groovy에서 파일 유효성 검사/실제 파일 형식 가져 오기?
필자는 실제로 PDF, 이미지 및 일부 Microsoft Word 파일 형식 만 확인하면됩니다. 나는 imagemagick을 사용하고 이미지 테스트를하기 위해 예외를 잡는 것에 대해 들었다. 그러나 다른 것들은 어떨까?
아이디어가 있으십니까?
파일이 주어진 유형의 실제 유형인지 여부를 결정해야하며,이를 수행하는 가장 좋은 방법이 무엇인지 궁금합니다.Java/Groovy에서 파일 유효성 검사/실제 파일 형식 가져 오기?
필자는 실제로 PDF, 이미지 및 일부 Microsoft Word 파일 형식 만 확인하면됩니다. 나는 imagemagick을 사용하고 이미지 테스트를하기 위해 예외를 잡는 것에 대해 들었다. 그러나 다른 것들은 어떨까?
아이디어가 있으십니까?
이 예제의 첫 번째 부부는 파일 확장자에 근거 해 MIME 타입을 추측 MIME 타입을 얻기위한 몇 가지 방법이 있습니다, 그리고 말한대로, 더 강력한 방법은 지원하는의 Apache Tika framework을 사용하는 것입니다 many file types.
// Grab tika and all its dependencies...
// takes a while on first run, as it pulls in LOADS of dependencies
@Grab('org.apache.tika:tika-core:0.9')
@Grab('org.apache.tika:tika-parsers:0.9')
import org.apache.tika.Tika
println(new Tika().detect(new File('tim.tiff')))
println(new Tika().detect(new File('tim.renamedtiff')))
출력 :
15:15:56 [[email protected]] TikaTest $ groovy test.groovy
image/tiff
image/tiff
file.toURL().openConnection().getContentType()
파일이기 java.io.File의
의 인스턴스 여기
은 (그루비) 티카를 사용하는 예이다 그것!를 사용해 MimetypesFileTypeMap는 그루비의 매력처럼 작동합니다
import javax.activation.MimetypesFileTypeMap
String contentType = new MimetypesFileTypeMap().getContentType("foo.gif")
println contentType
결과 : 이미지/GIF
는 (모든?)를 파일 형식으로 내가 필요한 거의 해결 같은이 보인다! 굉장해! –