Bỏ qua bài đăng cuối cùng của tôi, tôi đã tìm thấy nguồn gốc của vấn đề. Tôi đang sử dụngĐổi tên tệp mà không sử dụng đổi tênTo() - Java
a.renameTo(b)
khi b không tồn tại. Lý do nó không tồn tại là vì có một liên kết tượng trưng nên nếu b là /usr/name/folder/file
, thì b thực sự là /mnt/MountTest
vì liên kết tượng trưng đến thư mục đó.
Vì vậy, câu hỏi đặt ra là, có cách nào khác để đổi tên tệp trong Java bằng cách sử dụng giá trị chuỗi không? Nếu không, quy trình đổi tên này có thể được thực hiện khác nhau như thế nào?
rằng sẽ không làm việc vì các tập tin không tồn tại trong đường dẫn tập tin mới ... đổi tên được sử dụng theo cách bắt chước "mv", về cơ bản di chuyển tệp từ thư mục này sang một thư mục khác – Hristo
@Hristo: Thực ra, đó chính xác là nguyên nhân khiến tôi gặp sự cố: mọi người mô tả renameTo tương đương với "mv" . mv là nhận thức của hệ thống tập tin, trong khi renameTo là không. Nếu bạn cố gắng để mv từ một đĩa/phân vùng khác, nó hoạt động như một cp và rm chuỗi, mà renameTo không. – Ken