Imprimir char ao inves d int em uma linkedlist!

Ae galera… td tranquilo?! to precisando de um HELP ae…
sou iniciante em java e to com um problema!

Tenho um codigo que estou implementando aqui que lê um determinado arquivo de entrada e tem que armazenar caracater por caracter em uma linkedlist, até ai tudu bem!
O problema é que quando eu preciso imprimir o conteudo dessa linked list, ela ta imprimindo os caracteres como se fossem do tipo int e não tipo char como eu preciso… alguem ae pode me ajudar?
o codigo ta ai em baixo…
Desde ja, muuuuuito grato!

public static void Ler(InputStream is) throws IOException {

	BufferedReader bf = new BufferedReader(new InputStreamReader(is));

            int caracter = 0;
            LinkedList lista = new LinkedList();

	        System.out.println("\n..........agora vem o teste de leitura............\n");
           while ( (caracter = bf.read()) != -1) {
                    lista.add(caracter);
                    System.out.print((char)caracter+"  ");
			}
	        System.out.println("\n..........agora vem a LINKED LIST............\n");

			Iterator i = lista.iterator(); 
				while (i.hasNext()) { 
				 System.out.println(i.next()+" ");       //eh aqui que ta o problema.. =(
			}

}

Oi bem-vindo ao GUJ!

  1. Quando for postar código, use a tag code.
  2. O método read retorna um int, não um char.
  3. Se você usa Java 5 ou superior, é melhor qualificar o tipo da lista com os generics. Assim você consegue dizer ao java que sua lista é de character, não de integer.
  4. Use sua lista através da interface List, não pelo tipo LinkedList.
  5. Faça um cast para poder imprimir do jeito que você quer. Exemplo:

[code]
public static void Ler(InputStream is) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(is));
int caracter = 0;
List lista = new LinkedList();

System.out.println("\n…agora vem o teste de leitura…\n");
while ( (caracter = bf.read()) != -1) {
lista.add((char)caracter);
System.out.print((char)caracter+" “);
}
System.out.println(”\n…agora vem a LINKED LIST…\n");

Iterator<Character> i = lista.iterator(); 
while (i.hasNext()) { 
    System.out.println(i.next()+" "); //eh aqui que ta o problema.. =( 
} 

} [/code]

Outra dica, você poderia substitui o while do final e o iterator por um for each. O código fica mais claro:

for (Character char : lista) { //Para cada caracter na lista System.out.println(char +" "); //Imprime o caracter. }

Hey ViniGodoy
foi mal… ainda nao pelo nao uso de tags… primeiro post… sabecomo eh neh?! =P
da proxima prometo alguma melhorar… =D
vou testar sua sugestao mais tarde…
mas desde ja agradeço a ajuda…
abração teh mais

Normalmente é uma boa ler as regras do fórum, antes de começar a postar. Mas tudo bem, é um erro muito comum.
Para conhecer esse e outros recursos do fórum, por favor leia esse link: http://www.guj.com.br/posts/list/50115.java