我无法使用java访问Windows的主机文件(只需写入):
java.io.FileNotFoundException: C:\Windows\system32\drivers\etc\hosts (Access is denied)
at java.io.FileOutputStream.open(Native Method)
当我想将我的文字附加到主机文件时出现错误...
这是我的代码:
BufferedWriter bw = null;
try {
// APPEND MODE SET HERE
bw = new BufferedWriter(new FileWriter(file,true));
bw.write(text);
bw.newLine();
bw.flush();
} catch(FileNotFoundException e) {
e.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
} finally { try {
// always close the file
bw.close();
} catch (IOException ex) {
Logger.getLogger(FileWrite.class.getName()).log(Level.SEVERE, null, ex);
}
}
} // end test()
此代码适用于Windows的其他位置的简单文件..(只是在c:\ windows \ ...
上得到错误和: 我使用microsoft manifest来设置管理访问权限[not work]
设置对hosts文件的完全访问权限[not work]
请帮助..
TNX
答案 0 :(得分:0)
检查您的java是否真的以管理员身份运行(即写入同一文件夹中的新文件)。显然存在访问问题并且为了解决它,您需要了解您的身份(您的应用的用户/服务)以及您尝试访问的资源(文件)的权限。
这里有两种方法可以尝试和调试它: 1)您没有权限写入文件(可以阅读吗?) 2)您无权进入该文件夹(可以列出其中的文件)