Java tutorial
/******************************************************************************* * Copyright 2005, 2006, 2007, 2008 Acessibilidade Brasil * Este arquivo parte do programa ASES - Avaliador e Simulador para AcessibilidadE de Stios * O ASES um software livre; voc pode redistribui-lo e/ou modifica-lo dentro dos termos da Licena Pblica Geral GNU como * publicada pela Fundao do Software Livre (FSF); na verso 2 da Licena, ou (na sua opnio) qualquer verso posterior. * Este programa distribuido na esperana que possa ser util, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAO a qualquer MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral GNU para maiores detalhes. * Voc deve ter recebido uma cpia da Licena Pblica Geral GNU, sob o ttulo "LICENCA.txt", junto com este programa, se no, escreva para a Fundao do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *******************************************************************************/ /******************************************************************************* * Copyright (c) 2005, 2006, 2007 Acessibilidade Brasil. * * This file is part of ASES. * * ASES is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * A copy of the license can be found at * http://www.gnu.org/copyleft/lesser.txt. *******************************************************************************/ package br.org.acessobrasil.nucleuSilva.util; import static br.org.acessobrasil.silvinha.entidade.NomeArquivoOuDiretorioLocal.nomeArquivoOuDiretorio; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; import java.io.ObjectInputStream; import java.net.URL; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpMethod; import org.apache.log4j.Logger; import br.org.acessobrasil.silvinha.entidade.RelatorioDaUrl; /** * Classe responsvel pela captura do contedo de uma pgina local * @author Renato Tomaz Nati * Criado em 11/1/2007 */ public final class ObterPaginaLocal { private static Logger log = Logger.getLogger("br.org.acessobrasil.silvinha"); /** * Construtor de PegarPaginaWEB. */ public ObterPaginaLocal(String nomeArquivo) { } /** * Mtodo que extrai o contedo de uma pgina. * @param url URL da pgina a ter seu contedo extrado. * @return Contedo de uma pgina. * @throws IOException Erro ao conectar a pgina. * @deprecated Utilize o mtodo getContent(). */ public static StringBuilder pegar(final URL url) throws IOException { //JOptionPane.showMessageDialog(null,"oi1"); StringBuilder buf = new StringBuilder(); File file = new File(nomeArquivoOuDiretorio); FileReader reader = new FileReader(file); BufferedReader leitor = new BufferedReader(reader); while (leitor.ready()) { buf.append(leitor.readLine() + "\n"); } leitor.close(); //JOptionPane.showMessageDialog(null,"oi2"); return buf; } /** * Mtodo que extra o contedo de uma pgina web. * @param relatorio Pgina que vai ser pesquisada. * @throws IOException Erro ao tentar extrair o contedo da pgina html. */ public void getContent(final RelatorioDaUrl relatorio) { final int mb = 1024; try { StringBuilder sbd = null; sbd = new StringBuilder(); FileInputStream fis = null; ObjectInputStream ois = null; try { //JOptionPane.showMessageDialog(null,"arq = " + relatorio.getUrl()); File file = new File(relatorio.getUrl()); // JOptionPane.showMessageDialog(null,"fileexist"); if (file.exists()) { fis = new FileInputStream(file); byte[] dados = new byte[mb]; int bytesLidos = 0; while ((bytesLidos = fis.read(dados)) > 0) { sbd.append(new String(dados, 0, bytesLidos)); } fis.close(); } } catch (Exception e) { log.error(e); } finally { if (fis != null) { try { fis.close(); } catch (Exception e) { } } if (ois != null) { try { ois.close(); } catch (Exception e) { } } } if (sbd != null) { relatorio.setConteudo(sbd); } } catch (Exception e) { log.error(e.getMessage(), e); } } /** * Mtodo que retorna o Content-type de uma pgina web. * @param metodo Uma instncia de org.apache.commons.httpclient.HttpMethod * inicializada pela pgina. * @return O Content-Type da pgina pesquisada. */ private static String getContentType(final HttpMethod metodo) { String type = ""; Header header = metodo.getResponseHeader("Content-Type"); if (header != null) { type = header.getValue(); } return type; } }