Package com. zuidaima. test;
Import info. monitorenter. cpdetector. io. ASCIIDetector;
Import info. monitorenter. cpdetector. io. CodepageDetectorProxy;
Import info. monitorenter. cpdetector. io. JChardetFacade;
Import info. monitorenter. cpdetector. io. ParsingDetector;
Import info. monitorenter. cpdetector. io. UnicodeDetector;
Import java. io. BufferedReader;
Import java. io. File;
Import java. io. FileInputStream;
Import java. io. InputStreamReader;
Public class Main {
Public static String getContent (String path) throws Exception {
File file = new File (path );
CodepageDetectorProxy detector = CodepageDetectorProxy. getInstance ();
Detector. add (new ParsingDetector (false ));
Detector. add (JChardetFacade. getInstance ());
Detector. add (ASCIIDetector. getInstance ());
Detector. add (UnicodeDetector. getInstance ());
Java. nio. charset. Charset charset = null;
Try {
Charset = detector. detectCodepage (file. toURI (). ToURL ());
} Catch (Exception ex ){
Ex. printStackTrace ();
}
String charsetName = null;
If (charset! = Null ){
CharsetName = charset. name ();
} Else {
CharsetName = "UTF-8 ";
}
BufferedReader reader = new BufferedReader (new InputStreamReader (
New FileInputStream (file), charsetName ));
String line = null;
String lines = "";
While (line = reader. readLine ())! = Null ){
Lines + = line + "\ n ";
}
Reader. close ();
Return lines;
}
Public static void main (String [] args) throws Exception {
System. out. println (getContent ("bin/gbk.txt "));
System. out. println (getContent ("bin/utf8.txt "));
}
}