Có sử dụng thực tế nào cho \r
và \b
trong Java không? Ai đó có thể đưa ra một ví dụ mà nó được sử dụng?Việc sử dụng các chuỗi thoát dạng thức ăn và backspace trong Java là gì?
Trả lời
Tôi thường sử dụng \r
cùng với System.out.print
khi in một số tỷ lệ phần trăm tiến trình.
Thử chạy này trong terminal của bạn:
class Test {
public static void main(String[] args) throws InterruptedException {
for (int i = 0; i < 100; i++) {
System.out.print("Progress: " + i + " %\r");
Thread.sleep(100);
}
}
}
Nếu tôi sử dụng \ n thay vì \ r, nó cho tôi kết quả tương tự, sự khác biệt giữa hai là gì? Tôi đoán \ r đã lỗi thời rồi. –
Xem [this q/a] (http://stackoverflow.com/questions/1761051/difference-between-n-and-r). – aioobe
thoát formfeed là \f
, không \r
. Trước đây là hữu ích cho việc xóa màn hình trong một giao diện điều khiển, trong khi thứ hai là hữu ích cho màn hình tiến độ (như đã nêu bởi aioobe).
\b
có thể được sử dụng trong hiển thị tiến trình, ví dụ, trên ICMP Ping, bạn có thể hiển thị một dấu chấm khi ping được gửi và \b
khi nhận được để cho biết số lượng mất gói.
Nguồn cấp dữ liệu biểu mẫu là ký tự điều khiển ASCII phá vỡ trang. Nó buộc máy in phải đẩy trang hiện tại ra và tiếp tục in ở đầu trang khác. Thông thường, nó cũng sẽ gây ra một vận chuyển trở lại. Để biết thêm chi tiết, hãy nhấp vào here
Nguồn cấp dữ liệu mẫu là \f
và \r
là vận chuyển trở lại. \f
được sử dụng để in các ký tự sau dòng từ dòng mới bắt đầu ngay bên dưới ký tự trước đó.
System.out.println("This is before\fNow new line");
System.out.println("TEXTBEFORE\rOverlap");
System.out.println("12\b3");
Output:
This is before
Now new line
OverlapORE
13
- 1. tách một chuỗi có thoát khỏi chuỗi sử dụng biểu thức chính quy trong Java
- 2. các lỗ hổng trong việc sử dụng trực tiếp GET và POST là gì?
- 3. Phiên làm việc trong Java là gì?
- 4. thoát các ký tự định dạng trong java String.format
- 5. Việc sử dụng "??" là gì?
- 6. Việc sử dụng lời gọi phương thức ảo Java là gì?
- 7. Phiên nấu ăn là gì?
- 8. Việc sử dụng chính xác các lớp trong gói java.util.concurrent.atomic trong Java là gì?
- 9. Việc sử dụng Deployment.Current.Dispatcher.BeginInvoke (() => {...}) là gì?
- 10. Các chuỗi định dạng trong java
- 11. Việc sử dụng lớp bên trong phương thức cục bộ là gì?
- 12. Bỏ qua các chuỗi thoát trong chuỗi java?
- 13. Việc sử dụng "khoan dung" là gì?
- 14. "Chuỗi ..." trong java là gì?
- 15. Việc định nghĩa lại các phương thức tĩnh có nghĩa là gì trong Java?
- 16. Java: Bỏ qua các chuỗi thoát
- 17. Sử dụng backspace với ncurses
- 18. Việc sử dụng window.external là gì?
- 19. Việc sử dụng "#process" gọi lại trong api dạng drupal là gì?
- 20. việc sử dụng tệp .CSProj và .Sln là gì?
- 21. Việc sử dụng allowCoreThreadTimeout() trong ThreadPoolExecutor là gì?
- 22. Các tác động bảo mật của việc sử dụng tăng/định dạng là gì?
- 23. Cách sử dụng phương thức Pattern.quote là gì?
- 24. lợi thế của việc sử dụng giao diện là gì
- 25. Việc sử dụng các automata hữu hạn là gì?
- 26. Việc sử dụng Indexers là gì?
- 27. việc sử dụng string.Clone() là gì?
- 28. Việc sử dụng singletonList là gì?
- 29. Chuỗi process_reaper trong Java là gì?
- 30. Việc sử dụng typedef là gì?
Vâng, khi bạn cần phải đầu ra/lưu những ký tự, nó khá tiện dụng không bạn nghĩ? – Mat