/*
|
* 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.fdxcommons.tools;
|
|
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 FileUtilities {
|
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() : "UTF-8";
|
|
return Charset.forName(charsetName);
|
|
} catch(UnsupportedCharsetException ex) {
|
return Charset.forName("UTF-8");
|
}
|
}
|
}
|