2012-01-04 81 views
0

使用下面的代码复制文件到用java

Runtime r=Runtime.getRuntime(); 
Process p=r.exec("cmd /c copy hello.dll c:\\windows\\system32\\"); 

但Windows 7我试图复制其在jar文件到我的机器的system32文件夹下的文件的SYSTEM32这里的文件不会被复制? ?!!!!

但是当IAM给

Runtime r=Runtime.getRuntime(); 
Process p=r.exec("cmd /c copy hello.dll c:\\windows\\"); 

将文件复制到Windows文件夹...... 任何一个可以帮助我..........

IAM使用Windows 7机器

+0

必须有访问权限问题。 – adatapost 2012-01-04 05:05:35

+0

我已经启用了我的内置管理帐户。所以我想那可能不是问题 – 2012-01-04 05:14:38

+2

当你运行应用程序,你是否右键单击 - >以管理员身份运行?或者,如果您在eclipse,命令行或ide中进行调试,您是否以管理员身份运行它?它必须在6.0以上的所有Windows版本中明确给出。 – 2012-01-04 05:25:01

回答

0

如果您通过命令提示符运行程序,请确保您的命令提示符(或IDE)以管理员模式运行。

+0

它在管理员控制台中运行 – 2012-01-04 05:41:17

1

该应用程序需要以管理员身份运行,或者您必须提示用户将其权限提升为管理员。在Windows 7中,用户拥有管理权限是不够的 - 就像他们在xp中一样。他们必须明确授予应用程序执行此类副本的权限。

+0

虽然这可能会让合法程序员感到烦恼,但对于不太道德的(甚至是新手)程序员来说,这只是另一个良好的安全级别。 – 2012-01-04 05:15:24

+1

@Zeychin,别开玩笑,我的一个实习生实际上在他的makefile中有一天发生了一个错误,他删除了他的整个根分区。毋庸置疑,他已经不在这个sudoers组里了。 – 2012-01-04 05:20:55