determine the file encoding in java

determine the file encoding in java
refer ‮al:ot‬utturi.com
// Check whether the encoding of the file is UTF-8 or iso-8859-1

FileInputStream fIn  = new FileInputStream(myFile);
byte[] buf = new byte[4096];
UniversalDetector detector = new UniversalDetector(null);
int nread;
while ((nread = fIn.read(buf)) > 0 && !detector.isDone()) {
    detector.handleData(buf, 0, nread);
}
detector.dataEnd();
String encoding = detector.getDetectedCharset();
String chartsetName = null;
if (encoding.equalsIgnoreCase("WINDOWS-1252")){
    chartsetName = "ISO-8859-1";
}
if (encoding.equalsIgnoreCase("UTF-8")){
    chartsetName = "UTF-8";
}

BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn, chartsetName));
Created Time:2017-09-12 08:06:45  Author:lautturi