// charset detection with icu
try {
bis = new BufferedInputStream(new FileInputStream(tempFile));
CharsetDetector detector;
detector = new CharsetDetector();
detector.enableInputFilter(true);
detector.setText(bis);
if (declaredEncoding!=null && !"".equals(declaredEncoding))
detector.setDeclaredEncoding(declaredEncoding);
CharsetMatch[] matches = null;
matches = detector.detectAll();