问题描述
我正在尝试使用我的 Java 代码在远程服务器中共享一个 Windows 文件夹。为此,我使用 process 和 net share 命令来完成此操作,但出现语法错误。我搜索了很多,但无法获得有关如何在远程服务器中共享的正确语法。如果您有任何想法,请提出建议。
try {
String commandString = "net share sharefolder=\\USMLVV3BI0567\D$\Data /grant:everyone,FULL /UNLIMITED /REMARK:Share /CACHE:None /grant:everyone,FULL /UNLIMITED /REMARK:Share /CACHE:None";
Process p;
System.out.println(commandString);
p = Runtime.getRuntime().exec(commandString);
// To get the output of command
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line = null;
while (true) {
line = stdInput.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
while (true) {
line = stdError.readLine();
if (line == null) {
break;
}
System.out.println(line);
}
}
catch (IOException e) {
e.printstacktrace();
}
解决方法
但出现语法错误
你的意思是...
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
那是因为您需要转义反斜杠,即 \
,String
中的字符。
尝试以下操作:
String commandString = "net share sharefolder=\\\\USMLVV3BI0567\\D$\\Data /grant:everyone,FULL /UNLIMITED /REMARK:Share /CACHE:None /grant:everyone,FULL /UNLIMITED /REMARK:Share /CACHE:None";