System.in, System.out, và System.error trong java

Ở bài viết này,chúng ta sẽ cùng nhau tìm hiểu về 3 lệnh System.in, System.out, và System.error trong java.

System.in

System.inlà một  InputStream mà thường được kết nối với bàn phím đầu vào của chương trình điều khiển. System.in không được sử dụng thường xuyên vì dữ liệu được phổ biến thông qua một ứng dụng Java dòng lệnh thông qua các tham số dòng lệnh, hoặc các tập tin cấu hình. Trong các ứng dụng với giao diện đầu vào cho các ứng dụng được đưa ra thông qua giao diện đồ họa. Đây là một cơ chế đầu vào riêng biệt từ Java IO.

System.out

System.outlà một InputStream . System.outthường xuất ra dữ liệu bạn viết thư cho nó vào giao diện điều khiển. Điều này thường được sử dụng từ các chương trình điều khiển chỉ giống như các công cụ dòng lệnh. Đây cũng là thường được sử dụng để in báo cáo debug từ một chương trình (mặc dù nó có thể cho là không phải là cách tốt nhất để có được thông tin gỡ lỗi ra khỏi một chương trình).

System.err

System.errlà một InputStream . System.errhoạt động như thế System.out, ngoại trừ đó là bình thường chỉ được sử dụng cho các văn bản lỗi đầu ra. Một số chương trình (như Eclipse) sẽ hiển thị đầu ra System.err trong văn bản màu đỏ, để làm cho nó rõ ràng hơn rằng đó là văn bản lỗi.

Đơn giản System.out + System.err Ví dụ:

Dưới đây là một ví dụ đơn giản sử dụng System.outSystem.err:

try { 
  InputStream đầu vào = FileInputStream mới ( "c: \\ \\ dữ liệu ..."); 
  System.out.println ( "File mở ra ..."); 

} Catch (IOException e) { 
  System.err.println ( "File mở thất bại:"); 
  e.printStackTrace (); 
}

Trao đổi hệ thống Streams

Thậm chí nếu 3 Systemdòng là thành viên tĩnh của java.lang.System lớp, và được khởi tạo trước tại JVM khởi động, bạn có thể thay đổi những gì suối để sử dụng cho mỗi trong số họ. Chỉ cần đặt mớiInputStreamcho System.inhay mới OutputStream cho System.outhay System.err, và tất cả các dữ liệu sẽ tiếp tục được đọc / ghi vào dòng mới.

Để thiết lập một mới Systemdòng, sử dụng một trong emethods thứ System.setIn(), System.setOut()hoặcSystem.setErr(). Đây là một ví dụ đơn giản:

OutputStream ra = FileOutputStream mới ( "c: \\ \\ dữ liệu system.out.txt"); 
PrintStream in = new PrintStream (đầu ra); 

System.setOut (bản in);

Bây giờ tất cả dữ liệu ghi vào System.outsẽ được chuyển vào file “c: \\ \\ dữ liệu system.out.txt”. Hãy nhớ rằng, bạn nên chắc chắn để tuôn ra System.outvà đóng tập tin trước khi JVM tắt, phải chắc chắn rằng tất cả các dữ liệu được viết để System.outđược thực sự đỏ mặt vào các tập tin.

x