因为Applet1.class.getResource("文件名");获取class目录下的文件的路径是本地路径,applet不能直接访问本地机器上的文件。
解决办法有2种
1。可以用Applet.getCodeBase()返回一个URL,在这个基础上可以访问和applet class文件在一起的文件,
2。可以把class文件和你要访问的文件做成一个jar,然后用
Class.getClass().getResourceAsStream(fileName);的方法访问哪个文件。

解决方案 »

  1.   

    我有几点疑问,我的applet中有几个按钮,这几个按钮带有的图标,它们存放的路径我也是通过
    Applet1.class.getResource 在class目录下取得的,这些按钮每次都能正确显示,为何?还有,为何applet不能直接访问本地机器上的文件?我用JFileChooser可以打开一个本地文件并加以访问,或者直接指定文件路径也可访问本地文件。最后,就是在jbuilder中run一个applet程序和在jbuilder的浏览器中显示一个applet程序,为何同是使用Applet1.class.getResource 获得的文件路径会不同:
    (F:\applet\classes\applet\文件名;\file:\F%¦\applet\classes\applet\文件名;)
    它们有什么区别,请告知;
    如能解答,或参与讨论,都能获得分数
      

  2.   

    为何applet不能直接访问本地机器上的文件?
    安全性的原因
    可以改java.policy文件来取消这个限制
    你的这个程序因该既是applet又是application.
    作为application运行时可以访问本地文件
    作为applet运行时不能访问本地文件