使用Java,如何创建一个操作system.out中的文本的控制台应用程序?

时间:2011-01-18 21:16:17

标签: java text console

例如,而不是打印
/
-
\
/

在一个新行上使它保持在一行并且是一个动画?

4 个答案:

答案 0 :(得分:7)

是,打印\b(退格)以删除最后一个字符。简而言之:

System.out.print('/');
System.out.print('\b');
System.out.print('-');
System.out.print('\b');
System.out.print('\\');
System.out.print('\b');

请注意,由于错误,此doesn't在Eclipse控制台中有效。但是,在命令控制台中,它应该可以正常工作。

答案 1 :(得分:1)

如果需要文本光标定位,解决方案需要通过JNI。您将需要一些C光标定位软件,这将是不可移植的。大约15到20年前,诅咒是一个受欢迎的应用程序 问题是你真的需要这次旅行吗?

答案 2 :(得分:1)

也许您应该在应用中实现命令行界面。然后,您可以完全控制命令行的行为。像Clamshell-Cli这样的图书馆可能会为你做繁重的工作。

答案 3 :(得分:1)

import java.io.*;
class Load_Animate
{
    static byte anime;
    static void animate(int i)
    {
        try
        {
            for(int j = 0 ; j<=100 ; j++)
            {
                switch(anime)
                {
                    case 1:
                        System.out.print("\r[ \\ ] :" + j + "%");
                        break;
                    case 2:
                        System.out.print("\r[ | ] :" + j + "%");
                        break;
                    case 3:
                        System.out.print("\r[ / ] :" + j + "%");
                        break;
                    default:
                        anime = 0;
                        System.out.print("\r[ - ] :" + j + "%");
                }
                anime++;
                Thread.sleep(i);
            }
        }
        catch(InterruptedException e)
        {
            System.out.println(e);
        }
    }
    public static void main(String args[]) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int i = Integer.parseInt(br.readLine());
        animate(i);
    }
}

这就是我所做的 我使用了“ \ r”,它是回车符,基本上指向该行的第一个位置。