java保存繁体网页打开后出现乱码


想实现下保存网页,试了下百度可以,打开来没有问题,但试了试url如果是www.google.com.hk,打开来就是乱码。。。不知道怎么解决
学java没多久。。新手求教。。
以下是java代码

public static void savePage(URL url) throws IOException, ParserException, IllegalArgumentException{
        InputStream is = url.openStream();
        int i;
        String title = HTMLHelper.getTitle(url);
        String file = url.getFile().trim();
        String host = url.getHost().trim();
        String filename = title+"("+url.getHost()+file+")";
        FileOutputStream fos = new FileOutputStream("Pages\\"+filename+".html");
        do{
            i = is.read();
            fos.write(i);
        }
        while(i!=-1);
        is.close();
        fos.close();
        System.out.println("Success!The filename is:"+filename+".html");

    }

java web 网页爬虫

超级acg大战 11 years, 3 months ago

应该是文件编码的问题,百度首页编码是GBK,而Google则是UTF-8。

选择合适的编辑器打开,应当能够正确识别。

双子座D叹息 answered 11 years, 3 months ago

Your Answer