/*
|
* 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.generatetxt.utilities;
|
|
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 Utilities {
|
/**
|
* 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");
|
}
|
}
|
}
|