"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como ler o conteúdo da URL em uma string com Java?

Como ler o conteúdo da URL em uma string com Java?

Publicado em 2024-12-22
Navegar:604

How to Read URL Content into a String with Java?

Lendo o conteúdo da URL em uma string com Java

Uma necessidade comum na programação é recuperar o conteúdo de uma URL e armazená-lo como um corda. No Groovy, essa tarefa é simplificada pela sintaxe concisa:

String content = "http://www.google.com".toURL().getText();

No entanto, encontrar uma implementação equivalente em Java pode ser mais desafiadora. Embora Java forneça várias opções para essa tarefa, muitas delas envolvem buffering complexo e construções de loop.

Abordagem Simplificada

Felizmente, desde a solicitação inicial de uma solução concisa, Java introduziu uma abordagem mais direta:

String out = new Scanner(new URL("http://www.google.com").openStream(), "UTF-8").useDelimiter("\\A").next();

Esta linha utiliza a classe Scanner para ler o fluxo obtido da URL, tratando todo o fluxo como uma única string.

Implementação Estendida

Se desejar, uma implementação mais completa pode ser criada da seguinte forma:

public static String readStringFromURL(String requestURL) throws IOException {
    try (Scanner scanner = new Scanner(new URL(requestURL).openStream(),
            StandardCharsets.UTF_8.toString())) {
        scanner.useDelimiter("\\A");
        return scanner.hasNext() ? scanner.next() : "";
    }
}

Este método usa uma URL como entrada e retorna o conteúdo da string correspondente.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3