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.
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