我正在尝试构建一个将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){
}
}
}
有人可以帮忙吗?
答案 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
理想情况下,您可以将输出放在以下任何一个中:
user.home
。 user.home
是用户应该能够阅读的地方。创建文件。 JFileChooser
。答案 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