Với Java 6 bạn có thể sử dụng Console
để làm một cái gì đó như thế này:
class Main {
public static void main(String[] args) throws InterruptedException {
String[] spinner = new String[] {"\u0008/", "\u0008-", "\u0008\\", "\u0008|" };
Console console = System.console();
console.printf("|");
for (int i = 0; i < 1000; i++) {
Thread.sleep(150);
console.printf("%s", spinner[i % spinner.length]);
}
}
}
\u0008
là nhân vật BackSpace đặc biệt. In sẽ xóa ký tự cuối cùng trên dòng. Bằng cách bắt đầu in một số |
và sau đó thêm \u0008
trước khi tất cả các ký tự khác bạn nhận được hành vi spinner.
Lưu ý rằng điều này có thể không tương thích 100% với tất cả bàn điều khiển (và rằng System.console()
có thể trả lại null
).
Cũng lưu ý rằng bạn không nhất thiết phải sử dụng lớp bảng điều khiển, vì việc in chuỗi này thành đầu ra tiêu chuẩn thường chỉ hoạt động tốt.
Nguồn
2011-05-02 16:37:43
Đây có phải là thiết bị đầu cuối của cửa sổ hoặc một số thiết bị đầu cuối khác không? –
Windows ngay bây giờ, nhưng muốn nó là nền tảng chéo – user489041