Ajuda com código para capturar código fonte

Olá. Eu me chamo Alan e ingressei no GUJ porque estou desesperado tentando entender um código. Eu desenvolvi, com alguns auxílios externos, o seguinte código:

package home;

import java.io.BufferedReader;

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class Main {

	static String endereco;

	public static StringBuilder obterImpressora(String endereco) {

		StringBuilder codigoFonte = new StringBuilder();

		try {

			URL url = new URL(endereco);

			BufferedReader leitor = new BufferedReader(new InputStreamReader(url.openStream()));

			String armz = "";

			while ((armz = leitor.readLine()) == null) {

				codigoFonte.append(armz);

			}

		} catch (MalformedURLException e) {

			e.printStackTrace();

		} catch (IOException e) {

			e.printStackTrace();

		}

		return codigoFonte;

	}

	public static void main(String[] args) {

		endereco = "http://192.168.1.136/";

		obterImpressora(endereco);
	}
}

Ao executá-lo não recebo retorno algum.
Sou iniciante no desenvolvimento de sistemas e com certeza entrei numa bela duma enrascada.
Você pode me ajudar?

No método main, receba o retorno do método obterImpressora:

StringBuilder resultado = obterImpressora(endereco);
System.out.println(resultado.toString());
1 curtida

Muito obrigado Lucas pela sua colaboração, mas quando executo ainda não recebo nenhum resultado.

Executei seu código aqui, e parece que ele fica preso no while. Fiz um exemplo, porém, agora lendo o Buffer usando classes do Java8, veja:

iimport java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.stream.Collectors;

public class Main {
	
	public static String obterImpressora(String endereco) throws IOException {
		URL url = new URL(endereco);
		
		try (BufferedReader leitor = new BufferedReader(new InputStreamReader(url.openStream()))) {
			return leitor.lines().collect(Collectors.joining());
		}
	}

	public static void main(String[] args) {
		try {
			String resultado = obterImpressora("https://raw.githubusercontent.com/lfcamarati/aspose-test/master/pom.xml");
			System.out.println(resultado);
		} catch (IOException e) {
			System.err.println("Não foi possível recuperar o conteúdo da url informada: " + e.getMessage());
		}
	}
}

Ah rapaiz, no seu código, no while apenas mude para enquanto for diferente de null, e não igual:

while ((armz = leitor.readLine()) != null) {
    codigoFonte.append(armz);
}

Que significa: enquanto houver conteúdo para ser lido, continue executando o loop.