0
ユーザーがローカルでダウンロードして開くHTMLファイルで実行されるアプレットがあります(URLバーのfile://
)。このアプレットには、Webからファイルをダウンロードし、アプレットが実行されているディレクトリ内のディレクトリに格納するメソッドがあります。私のHTMLファイルでは、ファイルをダウンロードする関数を呼び出して動作しますが、別のファイルをダウンロードするために2回目に呼び出すと、Error calling method on NPObject.
が表示されますJava側でエラーは発生しませんそれは清潔に保たれます)。 ここで問題になるのは何ですか?ご協力いただきありがとうございます。以下は、アプレットのコードです。ファイルをダウンロードするJavaアプレット
import java.security.*;
import java.io.*;
import java.nio.channels.*;
import java.net.*;
public class EPPenDrive extends java.applet.Applet {
public final static String baseURL = "http://localhost/data/documents/";
public String downloadFile(final String filename) {
return (String)AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
try {
URL finalURL = new URL(baseURL + filename);
ReadableByteChannel rbc = Channels.newChannel(finalURL.openStream());
URL appletDir = getCodeBase();
FileOutputStream fos = new FileOutputStream(appletDir.getPath() + "documents/"+ filename);
fos.getChannel().transferFrom(rbc, 0, 1 << 24);
return 1;
} catch (Exception x) {
x.printStackTrace();
return null;
}
}
});
}
public void init() { }
public void stop() { }
}