Encoding OutputStream totalmente diferente

Estou trabalhando em um sistema de leitura e exibição de dados onde os dados do console são capturados e exibidos em um componente do Javafx.

O problema é que quando capturo esses dados, os mesmos saem com o encoding diferente do inicial, exemplo:

á = á

Gostaria de uma mãozinha, alguém poderia me ajudar? Eu creio que o problema está na conversão de byte pra String.

Abaixo o código que criei.

public static void main(String[] args) throws IOException {
		OutputStream out = new OutputStream() {
			StringBuilder sb = new StringBuilder();

			@Override
			public void write(int b) throws IOException {
				Character bit = (char) (b & 0xFF);
				if (!String.valueOf(bit).equals("\n"))
					sb.append(bit);
				else {
					sb.toString();
					sb = null;
					sb = new StringBuilder();
				}
			}
		};
		System.setOut(new PrintStream(out, true));
		System.out.println("á");
}

Cara eu não entendi lhufas do que vc fez.

Porem pense no seguinte: se vc quer usar o encoding X (ex UTF-8) vc tem que configurar o seu terminal para este encoding senao ai pode parecer corrompido.

Na duvida mande o output para um programa zcomo o hexdump e compare com os bytes que vc desejazt