Java Applet下载文件

时间:2011-11-23 17:25:01

标签: java applet download

我正在尝试构建一个将app文件下载到客户端计算机的java applet。作为一个java应用程序,这段代码运行正常,但当我尝试作为applet时,它什么也没做。我已经签署了.jar文件,但没有收到任何安全错误消息

守则是:

import java.io.*;
import java.net.*;
import javax.swing.*;


public class printFile extends JApplet {

public void init(){ 

try{
    java.io.BufferedInputStream in = new java.io.BufferedInputStream(new
    java.net.URL("http://www.google.com").openStream());
    java.io.FileOutputStream fos = new java.io.FileOutputStream("google.html");
    java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
    byte data[] = new byte[1024];
    while(in.read(data,0,1024)>=0)
    {
        bout.write(data);
    }
    bout.close();
    in.close();


} catch(IOException ioe){     
}  
}
}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:4)

FileOutputStream fos = new FileOutputStream("google.html");

将其更改为:

File userHome = new File(System.getProperty("user.home"));
File pageOutput = new File(userHome, "google.html");
FileOutputStream fos = new FileOutputStream(pageOutput);  //see alternative below

理想情况下,您可以将输出放在以下任何一个中:

  1. {strong>子目录(可能基于主类的包名称 - 以避免冲突)user.homeuser.home是用户应该能够阅读的地方。创建文件。
  2. 最终用户在JFileChooser
  3. 的帮助下指定的路径

答案 1 :(得分:1)

看到这个问题,

Self Signed Applet Can it access Local File Systems

我相信它会对您有所帮助,您需要编写代码才能使用PrivilegedAction。

http://docs.oracle.com/javase/1.4.2/docs/api/java/security/PrivilegedAction.html