Applet的安全机制是不让Applet访问本地文件的,如果非要访问,必须获得签名许可才行!建议不使用Applet对本地文件进行访问。

解决方案 »

  1.   

    Applet不能访问本地文件,也不能执行本地的可执行程序
      

  2.   

    完全是胡说,applet当然可以访问本地文件,我在applet中用log4j写日志文件呢。
    applet在载入的时候,可能由于jre中的权限不够而无法加载,控制台会出不能access的异常,或者applet要进行某些不安全的操作,比如写个日志文件什么的,也会出类似的异常。
    解决的办法是修改jre\lib\security\java.policy文件,在文件的末尾加上:
    permission java.security.AllPermission;
    permission java.net.SocketPermission "*:8080", "accept, connect, listen, resolve";
    其中SocketPermission要看是什么服务器端口了
      

  3.   

    哈哈,楼上的说可以写本地文件,这是有一个前提条件的,只有一般的IE安全级别特别低的时候,而且有些文件又可以让IE访问,这个时候才可以写本地文件的,如果我们不改IE的安全级,使用IE的默认级别,Applet是不能写本地文件的。
    你那样改难道没有看到是你把一些权限更改了吗?你不改试试,看能不能写?
      

  4.   

    我也说两句:
    applet下载到客户机的时候,客户机是不是也必须得安装jre,否则无法运行applet?
    另外,访问数据库的applet是不是同样有安全限制的问题?不管数据库是在本地还是服务器端?
      

  5.   

    applet在载入的时候,可能由于jre中的权限不够而无法加载,控制台会出不能access的异常,或者applet要进行某些不安全的操作,比如写个日志文件什么的,也会出类似的异常。
      

  6.   

    大家帮我看看这个程序怎么也不行呢
    import java.net.*;
    import java.io.*;public class URLConnectionWriteDemo {
      public static void main(String[] args) throws Exception {    String[] strs  = {"Hello you"};
        String stringToReverse = URLEncoder.encode(strs[0]);
        System.out.println("输入的参数 = " + stringToReverse);    //应用java网站的程序
        URL url = new URL("http://127.0.0.1:8080/lyb/message.txt");
        //应用OpenConnection()方法打开网站的联接
        URLConnection connection = url.openConnection();
        //使连接成为写入状态
        connection.setDoOutput(true);
        if(!connection.getDoOutput()) System.out.println("error");
        //使用connection.getOutputStream()方法应用文件写入类
        PrintWriter out = new PrintWriter(connection.getOutputStream());
        //向CGI程序backwards写入参数
        out.println("string=" + stringToReverse);
        out.close();       //关闭文件写入类    //使用connection.getInputStream()方法应用文件读入类
        BufferedReader in = new BufferedReader(new InputStreamReader(
                                connection.getInputStream()));    //通过循环显示输入参数的运行结果
        String inputLine;
        while ((inputLine = in.readLine()) != null)
            System.out.println(inputLine);    //关闭文件读入类
        in.close();
      }
    }
    谢谢!
      

  7.   

    程序的后半部分可以把http://127.0.0.1:8080/lyb/message.txt中内容读出来,但没有写进的内容,即Hello you。为什么呢?
      

  8.   

    Applet对于非本地的文件默认是不可操作的.
      

  9.   

    我是想通过applet在客户端读写服务器的文件