如何在 java 中执行 Symlink 命令

How to execute Symlink command in java

我在 java 中执行符号链接命令时遇到问题。我的源文件名和目标文件名中有 space。 如何执行这个命令?

例如。 ln -sf /home/Desktop/image1 .jpg /home/Desktop/Folder/image 2.jpg

我正在尝试此代码

    String command = "ln -sf " + "/home/Desktop/\"image 1.jpg\"" + " /home/Desktop/Folder/\"image 2.jpg\"";
    CommandLine oCmdLine = CommandLine.parse(command);
    DefaultExecutor oDefaultExecutor = new DefaultExecutor();
    oDefaultExecutor.setExitValue(0);
    try {
        oDefaultExecutor.execute(oCmdLine);
    } catch (ExecuteException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

您可以使用 NIO.2 轻松做到这一点

Path directoryTarget = Paths.get("c:/temp");
Path directoryLink = Paths.get("c:/links/linkTemp");

Files.exists(directoryTarget);

try {
  Files.createSymbolicLink(directoryLink, directoryTarget);
} catch (IOException e) {
  e.printStackTrace();
}