/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.queryadhoc.utils; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; import java.nio.charset.UnsupportedCharsetException; import org.apache.tika.parser.txt.CharsetDetector; import org.apache.tika.parser.txt.CharsetMatch; /** * * @author ASUS */ public class CommonUtilities { private CommonUtilities() { } /** * Méthode qui récupère l'encodage d'un fichier * * @param file : Fichier dont on veut connaître l'encodage * @return : retourne l'encodage le plus probable * @throws FileNotFoundException * @throws IOException */ public static Charset getCharset(File file) throws FileNotFoundException, IOException { try ( InputStream stream = new FileInputStream(file); InputStream input = new BufferedInputStream(stream);) { CharsetDetector charsetDetector = new CharsetDetector(); charsetDetector.setText(input); CharsetMatch charsetMatch = charsetDetector.detect(); String charsetName = charsetMatch != null ? charsetMatch.getName() : ""; return Charset.forName(charsetName); } catch (UnsupportedCharsetException ex) { return Charset.forName("Cp850"); } } }