Đối với các đường dẫn tương đối, đây là những gì tôi đã làm. Tôi nhận thức được độ tuổi của câu hỏi này, tôi chỉ đơn giản muốn đóng góp một câu trả lời đơn giản hơn, hoạt động trong phần lớn các trường hợp:
Nói rằng bạn có một con đường như thế này:
"path/to/file/folder"
Vì một số lý do, các tệp thực thi do Linux tạo ra trong nhật thực hoạt động tốt với điều này. Tuy nhiên, các cửa sổ sẽ rất bối rối nếu được cung cấp một đường dẫn như thế này để làm việc!
Như đã nêu ở trên, có một số cách để có được đường dẫn hiện tại đến tệp thực thi, nhưng cách dễ nhất tôi thấy có tác dụng quyến rũ trong phần lớn các trường hợp là nối nó vào FRONT của đường dẫn của bạn:
"./path/to/file/folder"
Chỉ cần thêm "./" sẽ giúp bạn sắp xếp! :) Sau đó, bạn có thể bắt đầu tải từ bất kỳ thư mục nào bạn muốn, miễn là nó có thể thực thi được.
EDIT: Điều này sẽ không hoạt động nếu bạn cố khởi chạy tệp thực thi từ mã :: khối nếu đó là môi trường phát triển đang được sử dụng, vì một số lý do, mã :: khối không tải công cụ đúng ...: D
EDIT2: Một số điều mới tôi đã tìm thấy là nếu bạn chỉ định một đường dẫn tĩnh như thế này trong mã của bạn (Giả sử ví dụ.data là thứ bạn cần tải):
"resources/Example.data"
Nếu sau đó bạn khởi chạy ứng dụng của mình từ thư mục thực tế (hoặc trong Windows, bạn tạo một lối tắt và đặt thư mục hoạt động thành thư mục ứng dụng của bạn) thì nó sẽ hoạt động như vậy. Hãy ghi nhớ điều này khi gỡ lỗi các vấn đề liên quan đến đường dẫn tài nguyên / tệp bị thiếu. (Đặc biệt là trong các IDE đặt thư mục hoạt động sai khi khởi chạy bản dựng exe từ IDE)