是否可以在保留现有符号链接(symbolic link)的同时使用 Java I/O 和文件相关 API 复制目录内容?我正在开发一种工具,需要在保留现有符号链接(symbolic link)的同时对各种 UNIX 风格执行“目录复制”操作。
我更愿意使用核心 Java SE 库尝试此操作,而无需求助于 Runtime.exec/ProcessBuilder 来调用平台的“/bin/cp”二进制文件。 Apache Commons 的 IOUtils 似乎也不支持这一点。
我最后的选择是使用 Runtime.exec/ProcessBuilder!
更新: 我想我将使用 Runtime.exec/ProcessBuilder 调用 native “cp”可执行文件,因为使用核心 Java API 或任何 Apache Commons 库似乎都不可能。
最佳答案
您是否仅限于 <= 6 的 Java 版本?
否则你可能想看看http://docs.oracle.com/javase/tutorial/essential/io/links.html ,特别是检测符号链接(symbolic link)和查找链接目标部分。
来自 The Java NIO.2 File System in JDK 7 :
The java.nio.file API has full support for symbolic links based on the long-standing semantics of UNIX symbolic links -- something that Java developers have long requested.
关于java - 使用 Java 文件/IO API 复制目录同时保留符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3024820/