Lendo arquivo html

2 respostas
rg3915

Ola, estou tentando ler um arquivo html com o código a seguir, mas não está dando certo.
O arquivo "buscape.html" está na mesma pasta do arquivo java.

/*
 * Lendo e escrevendo em arquivo
 * uso dos comandos indexOf e split
 */
package lerarquivo;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class LerArquivo {

    public static void main(String[] args) throws FileNotFoundException, IOException {
        InputStream is = new FileInputStream("buscape.html");
        is.read();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        String linha = br.readLine();
        while (linha != null) {
            System.out.println(linha);
            linha = br.readLine();
        }
        br.close();
    }
//        Scanner s = new Scanner(new FileInputStream("../../../buscape.html"));
//        while (s.hasNextLine()) {            
//            System.out.println(s.nextLine());
//        }
//        s.close();
}

2 Respostas

romarcio

Aqui tem um tutorial sobre isso: Capturando HTML de Página Web com Java
Da uma comparada com o seu código.

M

Você precisa colocar o caminho absoluto do arquivo html, eu uso o seguinte código para fazer isso;

import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
            URL url = new URL("http://www.google.com/");

            URLConnection conexao = (URLConnection) url.openConnection();
            conexao.setRequestProperty("Request-Method", "GET");
            conexao.setDoInput(true);
            conexao.setDoOutput(false);
            conexao.connect();

            BufferedReader br = new BufferedReader(new InputStreamReader(conexao.getInputStream()));
            String s = "";
            while (null != ((s = br.readLine()))) {
                System.out.println(s);
            }
            br.close();
    }
}
Criado 18 de março de 2013
Ultima resposta 18 de mar. de 2013
Respostas 2
Participantes 3