什么复制文件的方法可以处理波浪号? (~)

What method of copying a file can handle tildes? (~)

什么 java 复制文件的方法可以处理波浪号 (~) 的使用,特别是在 Linux 中,无需手动将波浪号替换为 System.getProperty("user.home")"/home/"?

例如:我要将~/this/path/file.txt复制到~usera/other/path/filea.txt

我试过使用 Files.copy(Path a, Path b), FileUtils.copyFile( File a, File b), FileInputStream & FileOutputStream

只要 Java 被设计为在字节码中的所有 OS 中工作,你就不能有特定的 Java 类 作为 FileFiles 具有独家 linux 依赖性。

所以,,您必须手动创建一个方法来自己替换它,但是注意检查第一个主机操作系统运行应用.

shell 处理波浪号扩展。 Java 中没有方法可以做到这一点。您可以使用

System.getProperty("user.home")

这将获取当前用户的主目录(即 Linux 中的 ~)。