【发布时间】:2013-08-13 15:56:38
【问题描述】:
您好,我有一个小程序,可以根据 CSV 文件中的一些调查数据创建图表。我希望 Applet 还生成图形的 png 文件。这在我的计算机上进行测试时有效,但在线托管时出现以下安全错误
java.security.AccessControlException: access denied
("java.io.FilePermission" "detail.png" "delete")
其中 detail.png 是我要创建的 png 文件的名称。
这是在我的小程序中创建文件的代码。
public void imgPaint(){
done=1;
setSize(800,500);
BufferedImage bi = new BufferedImage(this.getSize().width, this.getSize().height, BufferedImage.TYPE_INT_ARGB);
g2 = bi.createGraphics();
paint(g2);
try{ImageIO.write(bi,"png",new File("detail.png"));}catch (Exception e) {e.printStackTrace();}
}
因此,当小程序调用 JPanel 时,它会转到绘制方法,绘制到屏幕,然后调用此方法再次绘制到 png 文件。无论如何,问题似乎不是代码,而是 Java 不允许我创建 png 文件。它应该转到我在托管程序的服务器上的文件。
我真的对 Java 安全一无所知,所以你们能提供的任何帮助都会很棒。
【问题讨论】: