我制作了一个小型的Java应用程序,可以将CD上的目录复制到硬盘上。我在Windows Vista上使用该程序成功运行,但在Windows 7上运行时失败。
主要问题是需要创建Program Files文件夹内的一个文件夹。
我使用了DestinationFolder.mkdirs()方法,但它无法创建文件夹。
以下是Java代码:
public void Install_App()
{
File srcFolder = new File(System.getProperty("user.dir") + "\\WINDOWS");
File destFolder = new File("C:\\Program Files\\test1\\test2\\");
if (srcFolder.exists())
{
try{
if(!destFolder.exists())
{
destFolder.mkdirs();
}
copyFolder(srcFolder,destFolder,1);
}catch(IOException e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.toString());
error=true;
System.exit(0);
}
} else
{
JOptionPane.showMessageDialog(null, "Error. Source Directory doesn't exist.");
error=true;
};
}
...然后有一个复制文件夹的功能,使用输入流和输出流来复制文件。
问题在于文件夹从未被创建。我的登录用户是管理员。就像我说的,在Vista中它可以工作。
请问你能帮我吗?谢谢。
问题是我用Java创建了这个应用程序,以在Windows和Mac上运行。 在Windows中,它应该通过autorun.inf自动运行,如下所示:
[autorun]
OPEN=java_app.bat
那么这个批处理文件将运行以下内容:
@echo off
start javaw -jar "java_app.jar"
EXIT
那么我该如何修改它以自动以管理员身份运行呢? 这个Java应用程序的主要思想是简化安装和使用外部应用程序的过程,无论你使用哪种操作系统。如果我必须要求用户以管理员身份运行它,那么它就失去了简单易用的意义。