是否有可能获取现有.txt文件的编码?例如:您知道客户需要特定的编码,并且希望自动化.sql数据传递过程。然后您从客户端配置中读取结束编码,并将其与要传送的文件的当前编码进行比较。如果它们不同,则更改编码。直到现在都找不到解决方案。任何帮助,将不胜感激。
最佳答案
juniversalchardet
是检测编码类型的最佳可用API之一。请签出此link。您可以浏览其支持的编码类型列表
该站点的工作示例
import org.mozilla.universalchardet.UniversalDetector;
public class TestDetector {
public static void main(String[] args) throws java.io.IOException {
byte[] buf = new byte[4096];
String fileName = args[0];
java.io.FileInputStream fis = new java.io.FileInputStream(fileName);
// (1)
UniversalDetector detector = new UniversalDetector(null);
// (2)
int nread;
while ((nread = fis.read(buf)) > 0 && !detector.isDone()) {
detector.handleData(buf, 0, nread);
}
// (3)
detector.dataEnd();
// (4)
String encoding = detector.getDetectedCharset();
if (encoding != null) {
System.out.println("Detected encoding = " + encoding);
} else {
System.out.println("No encoding detected.");
}
// (5)
detector.reset();
}
}
希望这可以帮助!