Tôi muốn sử dụng user.dirdir làm dir cơ sở cho các bài kiểm tra đơn vị của mình (tạo ra rất nhiều tệp). Có chính xác là thuộc tính này trỏ đến thư mục làm việc hiện tại (ví dụ: đặt bằng lệnh 'cd') không?
Tôi muốn sử dụng user.dirdir làm dir cơ sở cho các bài kiểm tra đơn vị của mình (tạo ra rất nhiều tệp). Có chính xác là thuộc tính này trỏ đến thư mục làm việc hiện tại (ví dụ: đặt bằng lệnh 'cd') không?
Câu trả lời:
Đó là thư mục javađược chạy từ đâu, nơi bạn bắt đầu JVM. Không cần phải nằm trong thư mục chính của người dùng. Nó có thể ở bất kỳ đâu mà người dùng có quyền chạy java.
Vì vậy, nếu bạn cdtham gia /somedir, sau đó chạy chương trình của bạn, user.dirsẽ/somedir .
Một thuộc tính khác user.home, đề cập đến thư mục người dùng. Như trong /Users/myuserhoặc /home/myuserhoặc C:\Users\myuser.
Xem tại đây để biết danh sách các thuộc tính hệ thống và mô tả của chúng.
user.dirđược trỏ đến /usr/share/tomcatvà trong cấu hình chúng ta thêm một cái gì đó như thế này: file:./configsau đó nó sẽ được trỏ tới /usr/share/tomcat/configluôn?
user.dirlà "Thư mục làm việc của người dùng" theo Hướng dẫn Java, Thuộc tính Hệ thống
Thông thường, đây là thư mục mà ứng dụng của bạn (java) đã được bắt đầu (dir đang hoạt động). "Thông thường" vì nó có thể được thay đổi, ví dụ: khi bạn chạy một ứng dụng vớiRuntime.exec(String[] cmdarray, String[] envp, File dir)
System.getProperty("user.dir") tìm nạp thư mục hoặc đường dẫn của không gian làm việc cho dự án hiện tại
-Duser.dircờ ảnh hưởng đếnFilecác đối tượng (nếu chúng không được cung cấp đường dẫn đầy đủ) chứ không ảnh hưởng đến cácFileOutPutStreamđối tượng. Nếu bạn muốn đảm bảo thư mục mặc định phù hợp cho cả hai, bạn nên làmcdtrước khi bắt đầu Java.