gpt4 book ai didi

java - 文件编码为UTF-8

转载 作者:行者123 更新时间:2023-12-02 00:07:58 28 4
gpt4 key购买 nike

帮助解决这里的问题是脚本搜索互联网并保存,但他用错误的编码保存它们,并且对于UTP-8,这里是您可以在程序编码中插入的地方,请插入(当页面是已保存,其内容也是损坏的字符)

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Scanner;


public class url{
public static void main(String[] args) {
try {
URL PageUrl;
URLConnection GetConn = null;
GetConn = null;
Scanner sc = new Scanner(new File("C:\\test\\url.txt"));
String htmlPage;
while (sc.hasNext()){
htmlPage = sc.nextLine();
PageUrl = new URL(htmlPage);
GetConn = PageUrl.openConnection();
GetConn.connect();
// establish connection:
Scanner scUrl = new Scanner(GetConn.getInputStream());

StringBuffer sb = new StringBuffer();
while(scUrl.hasNext()){
sb.append(scUrl.nextLine());
}
scUrl.close();

String htmlFileName = ("C:\\test\\1\\"+title(sb.toString())+".html");
FileWriter FWriter = new FileWriter(htmlFileName);
BufferedWriter BWriter = new BufferedWriter(FWriter);

BWriter.write(sb.toString());
BWriter.close();
}// end try
sc.close();
}
catch (IOException io) {
System.out.println(io);
}
}

private static String title(String str){

return str.substring(str.indexOf("title>")+6, str.indexOf("</title>"));
}

}

最佳答案

这个

new Scanner(GetConn.getInputStream());

从您的网页获取输入流(面向字节)。但它使用 JVM 的默认编码,并且您没有查看实际页面本身的编码。

我也许会使用像 JTidy 这样的库正确解码/解析 HTML,然后询问页面标题。上面的代码可能非常脆弱。

关于java - 文件编码为UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13472154/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com