Tôi đang làm việc trên một dự án và một yêu cầu là nếu đối số thứ 2 cho phương thức chính bắt đầu bằng “ /
” (đối với linux) thì nó phải coi nó như một đường dẫn tuyệt đối (không phải là một vấn đề), nhưng nếu nó không bắt đầu bằng “ /
”, Nó sẽ nhận được đường dẫn làm việc hiện tại của lớp và thêm vào đó đối số đã cho.
Tôi có thể lấy tên lớp bằng nhiều cách: System.getProperty("java.class.path")
, new File(".")
và getCanonicalPath()
, và vân vân ...
Vấn đề là, điều này chỉ cung cấp cho tôi thư mục mà các gói được lưu trữ - tức là nếu tôi có một lớp được lưu trữ trong " .../project/this/is/package/name
", nó sẽ chỉ cung cấp cho tôi " /project/
" và bỏ qua tên gói nơi thực sự .class files
tồn tại.
Bất kỳ đề xuất?
CHỈNH SỬA: Đây là lời giải thích, lấy từ mô tả bài tập
nguồn gốc có thể là tuyệt đối (bắt đầu bằng “/”) hoặc liên quan đến nơi chúng tôi chạy chương trình từ đó
chuacedir là một đối số nhất định cho phương thức chính. làm thế nào tôi có thể tìm thấy con đường đó?