Tôi đang sử dụng Oracle Java 7 trên Windows 64 bit.Làm thế nào để lực lượng Java 7 để tạo "thư mục symlinks" trên Windows thay vì "tập tin symlinks"?
Khi tôi tạo ra một liên kết tượng trưng bằng Files.createSymbolicLink, tôi nhận thấy hành vi này:
- Nếu mục tiêu là một thư mục, một "thư mục liên kết tượng trưng" được tạo ra.
- Nếu mục tiêu là một tệp, một "liên kết tượng trưng tệp" được tạo.
- Nếu mục tiêu không tồn tại, một "liên kết tượng trưng tệp" được tạo.
The type of the symlink is fixed and never changes, bất kể bất kỳ thay đổi nào đối với mục tiêu của nó.
Sử dụng lệnh gốc của Windows mklink
, có thể buộc loại liên kết là "liên kết tượng trưng thư mục". Có thể đạt được điều này bằng cách sử dụng Java API gốc hoặc một số thư viện không?
Một cách tầm thường và xấu xí là:
- Nếu mục tiêu là một thư mục, chỉ cần tạo liên kết
- Nếu mục tiêu không tồn tại, tạo ra một thư mục đích trống mới, tạo liên kết, và xóa thư mục.
- Nếu mục tiêu là một tệp ... hãy xử lý nó (di chuyển nó, áp dụng # 2, di chuyển nó trở lại).
Fugly.
Trên thực tế không có nhu cầu lớn, tôi vừa phát hiện hành vi này thông qua lỗi trong chương trình của tôi khiến mục tiêu của liên kết tượng trưng không được tạo. – ripper234