Java pegar linha por linha jtextArea

Bom dia pessoal, gostaria que pudessem me ajudar com um pequeno programinha que estou fazendo, pesquisei no google e em diversos lugares e não conseguir a resolução para o meu problema.

Tenho um jtextarea com varias linhas e cada linha tem dois valores serapados pelo caractere |, o que eu preciso fazer é pegar linha por linha, separar a linha em duas variaveis o que está antes do | e o que vem depois, cada um em uma variavel diferente. Essas varias são usadas em funções e depois de todo o tratamento elas tem uma saida pelo System.out.println. Preciso fazer isso na forma de um loop, até que a ultima linha tenha sido pegada;

Eu até consegui fazer usando um for, segue o código

[code]String str[] = this.txt1.getText().split("\n");

        for (String nome : str) {
            if (nome.contains("|")){
                
           
            String[] login = nome.split(Pattern.quote("|"));
            String variavel1 = login[0];
            String Varialvel2 = login[1];
            String lintatoda = nome;
           
          metodo1(variavel1, variavel2);

         System.out.println(variavel1 + variavel2);

[/code]

O meu problema em usar o for é que se eu coloco 100 valores no jtextarea e inicio o método que pega linha a linha, a saída do System.out.println(variavel1 + variavel2); não acontece uma a uma, a saída está sendo impressa toda de uma vez. O sistema congela até acabar de pegar todas as linhas e usar os métodos e só ai imprime todos os testes de uma vez.

Acho que consegui ser bem claro, quero que a cada teste de linha o print na tela aconteça antes de pegar a próxima linha.
Uso o netbeans com a linguagem java.