获取文件编码:
在使用Java查看文件的编码时,可以通过两种方式来获取文件的编码:使用Java内部库获取、使用第三方工具库获取。
- 使用Java内部库获取文件编码
Java内部库中,提供了获取文件编码的方式:使用InputStreamReader类的getEncoding()方法获取文件编码。以下是示例代码:
public static String getFileCharset(InputStream inputStream) throws IOException {
BufferedInputStream bis = new BufferedInputStream(inputStream);
bis.mark(3);
byte[] firstBytes = new byte[3]; // 用于保存前三个字节,用于判断编码格式
bis.read(firstBytes);
// 以下是根据前三个字节进行编码判断
if (firstBytes[0] == (byte)0xFF && firstBytes[1] == (byte)0xFE) {
return "Unicode";
} else if (firstBytes[0] == (byte)0xFE && firstBytes[1] == (byte)0xFF) {
return "UTF-16BE";
} else if (firstBytes[0] == (byte)0xEF && firstBytes[1] == (byte)0xBB && firstBytes[2] == (byte)0xBF) {
return "UTF-8";
} else {
return "default";
}
}
- 使用第三方工具库获取文件编码
在Java开发中,还有一些第三方工具库可以获取文件的编码,如:juniversalchardet、iconv。缺点是需要引入第三方库依赖,增加了较多的代码量和复杂度。
获取Html纯文本:
jsoup是一款专门用于操作HTML文档的Java工具库,除了可以从html文档中选取和修改内容之外,还可以获取HTML纯文本。
以下是示例代码:
Document doc = Jsoup.connect("https://www.example.com/").get();
String content = doc.text();
System.out.println(content);
另外,如果想要获取特定标签内的文本内容,也可以使用以下代码:
Document doc = Jsoup.connect("https://www.example.com/").get();
Element element = doc.select("h1").first(); // 获取第一个h1标签
String content = element.text(); // 获取h1标签内的文本内容
System.out.println(content);
以上是获取HTML纯文本的两种方法,可以根据实际需求选择适合自己的方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java获取文件编码,jsoup获取html纯文本操作 - Python技术站