如何在 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();
}
我在 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();
}