2012-03-21 24 views
8

Cả hai File.renameToFiles.move trong Java có thể di chuyển một tệp. Sự khác nhau giữa hai cái là gì? Và có hiệu suất tốt hơn?Sự khác biệt giữa File.renameTo và Files.move: Tốc độ nào nhanh hơn?

+1

Bạn đã có một cái nhìn tại các tài liệu trước khi đăng một câu hỏi? ['renameTo'] (http://docs.oracle.com/javase/6/docs/api/java/io/File.html#renameTo%28java.io.File%29), [' move'] (http : //docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#move%28java.nio.file.Path,%20java.nio.file.Path,%20java.nio .file.CopyOption ...% 29). Có vẻ như bạn chưa có, vì vậy bạn sẽ nhận được câu trả lời được gỡ bỏ trực tiếp từ tài liệu này. –

+0

Offtopic- Tệp chỉ có trong JDK7. FileUtils của Apache phổ biến đã giúp chúng tôi rất nhiều. – Jayan

+0

Sự khác biệt về hiệu suất rất có thể không quan trọng (trừ khi bạn cần xóa hàng nghìn tệp và có một số lý do tại sao điều này là quan trọng về mặt hiệu quả). – Jesper

Trả lời

7
public boolean renameTo(File dest) 

Đổi tên các tập tin được biểu thị bởi tên đường dẫn trừu tượng này.

Nhiều khía cạnh của hành vi của phương pháp này là vốn nền tảng phụ thuộc vào: Các hoạt động đổi tên có thể không có khả năng di chuyển một tập tin từ một hệ thống tập tin khác và nó có thể không thành công nếu một tập tin với đích tên đường dẫn trừu tượng đã tồn tại.

Source

Nhưng phương pháp move có thể di chuyển hoặc đổi tên một tập tin trong một nền tảng độc lập cách.

renameTo chỉ được trả lại một boolean loại nhưng move lợi nhuận đường dẫn đến tập tin mục tiêu

+1

Vì vậy, họ là như nhau về hiệu suất? – TAAPSogeking

Các vấn đề liên quan