Segurar System.out, porcentagem no console, tem como?

4 respostas
P

Pessoal,

Existe alguma maneira de segurar a saída do console, tipo declarar uma objecto de saída?
Exemplo um marcador de porcentagem decorrida,
ao invés de ficar usando System.out.println e imprimir em muitas linhas tem como:

1% // imprimi 1%
2% //apaga 1% e imprimi 2%

Tudo na mesma linha?

[]'s,
Pablo

4 Respostas

T

Se queres evitar mostrar System.out, basta redireccionar a saída para /dev/nul (no caso Linux / Unix) ou nul (no caso Windows).
Se queres armazenar System.out, redireccione-o para algum ficheiro.
Se queres simplesmente mostrar progressivamente a saída, use algum programa do sistema operacional, como “more” ou “pg”.

Exemplo:

java -cp . HelloWorld > /dev/nul (Linux)
java -cp . HelloWorld > nul (Windows)
java -cp . HelloWorld > algumficheiro (ambos sistemas)
java -cp . HelloWorld | more

P

Não é isso que quero, é que não estou conseguindo me explicar bem, mais seria mais ou menos o seguinte:

line 0 - $ cd java
line 1 - $ cd testes
line 2 - $ java Teste
line 3 - 1%
line 3 - 2%
line 3 - 3%
line 3 - 4%

Entendeu? É possível fazer isso com c, porém gostaria de saber se também possível com JAVA.

T

Rode este programa e veja a porcentagem crescendo de 0 a 100%. Dica: é o “\r” que faz a mágica (pelo menos no Windows; acho que também no Linux).

class Test206 {
    
    private static void pausa() {
        try { Thread.sleep (200); } catch (InterruptedException ex) {}
    }
    
    public static void main(String[] args) {
        System.out.println ("Contando de 0 a 100%");
        for (int i = 0; i <= 100; ++i) {
            System.out.print ("\r" + i + "%");
            pausa();
        }
        System.out.print ("\rFim da contagem.");
    }
}
P

Valeu era isso mesmo, muito obrigado.

Criado 7 de fevereiro de 2005
Ultima resposta 7 de fev. de 2005
Respostas 4
Participantes 2