Как использовать Java FileChannel для копирования сохраняющихся отметок времени для файлов и каталогов? Похоже, файлы не сохраняют метки времени при копировании в другое место. Как это возможно с помощью FileChannel в Java?
2 ответа
Вы не можете сделать это с помощью FileChannel
, вы можете использовать apache commons io:
IOUtils.copy(new FileInputStream(file), new FileOutputStream(file2));
// copy file and preserve the time stamp. the sourceFile and destFile are of type java.io.File
FileUtils.copyFile(sourceFile,destFile);
Ссылка: http://www.studytrails.com/java -io / file-copying-and-moving-deleting.jsp
Это не роль FileChannel
. FileChannel
- это просто оболочка над байтовым каналом.
Вместо этого вы хотите использовать для этого «новый» файловый API Java 7. Если вы хотите скопировать файл в место с сохранением атрибутов, вы можете сделать это:
Files.copy(src, dst, StandardCopyOption.COPY_ATTRIBUTES);
COPY_ATTRIBUTES
является только "наилучшей основой". Кроме «измененной временной метки», ничто другое не гарантируется.
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.