首先你的类要继承于Applet
package com.app.applet;
import java.applet.Applet;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.security.AccessController;
import java.security.PrivilegedAction;
public class ReadFile extends Applet {
private static final long serialVersionUID = 1L;
private StringBuffer sb = null;
public String readFile() {
String str = getParameter("arr");
sb = new StringBuffer();
AccessController.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
InputStream is = ReadFile.this.getClass().getResourceAsStream(
"outFile");
BufferedReader br = null;
String temp = null;
try {
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
while ((temp = br.readLine()) != null) {
sb.append(temp + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
});
return str;
}
/**
* 请求远程服务器页面 并把服务器相应页面写成本地文件
* @param path
* @return
*/
public String getConection(final String path) {
sb = new StringBuffer();
// 同过js调用这个不能少AccessControlException 就是你没有执行这段代码的权限,
AccessController.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
URL url;
BufferedReader br = null;
try {
System.out.print(getCodeBase());
url = new URL(getCodeBase(), path);
URLConnection con = url.openConnection();
con.setUseCaches(false);
InputStream in = con.getInputStream();
br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
String temp = null;
while ((temp = br.readLine()) != null) {
sb.append(temp + "\n");
}
File file = new File("E:\\test\\test.html");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(sb.toString());
bw.flush();
bw.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
});
return sb.toString();
}
}