Trong C # có thuộc tính tĩnh. Môi trường mới thay đổi tùy thuộc vào nền tảng đang chạy.
Có điều gì tương tự trong Java không?
Trong C # có thuộc tính tĩnh. Môi trường mới thay đổi tùy thuộc vào nền tảng đang chạy.
Có điều gì tương tự trong Java không?
Câu trả lời:
Kể từ Java 7 (và API Android cấp 19):
System.lineSeparator()
Tài liệu: Nền tảng Java SE 7
Đối với các phiên bản Java cũ hơn, hãy sử dụng:
System.getProperty("line.separator");
Xem https://java.sun.com/docs/books/tutorial/essential/envir/sysprop.html để biết các thuộc tính khác.
Kể từ Java 7:
System.lineSeparator()
Trả về chuỗi phân tách dòng phụ thuộc hệ thống. Nó luôn trả về cùng một giá trị - giá trị ban đầu của thuộc tính line.separator của hệ thống. Trên các hệ thống UNIX, nó trả về "\ n"; trên các hệ thống Microsoft Windows, nó trả về "\ r \ n".
Xin lưu ý rằng tài sản này không hữu ích như nhiều người nghĩ. Ví dụ, chỉ vì ứng dụng của bạn đang chạy trên máy Windows, không có nghĩa là tệp mà nó đang đọc sẽ sử dụng các dấu tách dòng kiểu Windows. Nhiều trang web chứa hỗn hợp "\ n" và "\ r \ n", đã được ghép lại với nhau từ các nguồn khác nhau. Khi bạn đọc văn bản dưới dạng một loạt các dòng logic, bạn phải luôn tìm cả ba kiểu phân tách dòng chính: Windows ("\ r \ n"), Unix / Linux / OSX ("\ n") và Mac-OSX trước ("\ r").
Khi bạn viết văn bản, bạn nên quan tâm nhiều hơn đến cách tệp sẽ được sử dụng so với nền tảng bạn đang chạy. Ví dụ: nếu bạn mong đợi mọi người đọc tệp trong Windows Notepad, bạn nên sử dụng "\ r \ n" vì nó chỉ nhận ra một loại dấu tách.
(?:\r?\n|\r)tới (?:\r?n), nhưng không, tôi không nghĩ rằng nó an toàn. (?:\r\n|[\r\n])Dù sao thì tôi cũng thích ; Tôi biết đó là nhiều nhân vật hơn, nhưng nó trông gọn gàng hơn. : D Và nếu bạn không quan tâm bạn tiêu thụ bao nhiêu dòng phân cách, [\r\n]+hoạt động tốt.