用URL读网络资源的时候报异常~
我用 new Url("")读网络资源的并以文件的形式写在本地,程序运行15次没有问题,但再运行程序就
出现下面的异常,我发现当我的resin进程所占的内存达到92M的时候就出现这个错误了。
不知道是为什么。请高手赐教。
原代码如下:
String actionurl="http://127.0.0.1:8081/house/fore/viewHouseDetailAction.do?houseId=6553";
URL url=new URL(actionurl);
huc = (HttpURLConnection)url.openConnection();
huc.connect();
in = new BufferedInputStream(huc.getInputStream());
out_ex=new FileOutputStream(filepath);
byte[] arrIn=new byte[1024];
int i = 0;
int size = 0;
if(in!=null)
{
while ( (size = in.read(arrIn)) != -1)
{
out_ex.write(arrIn, 0, size);
}
}
huc.disconnect();
System.out.println("Read XML File Finish!");
url=null;
}
}catch(Exception e)
{
e.printStackTrace();
}finally
{
try
{
in.close();
out_ex.close();
}catch(IOException e)
{
e.printStackTrace();
}
}
*********************************
异常如下:
java.io.IOException: Server returned HTTP response code: 500 for URL: http://127
.0.0.1:8081/house/fore/viewHouseDetailAction.do?houseId=6533
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:709)
at com._21cn.house.boc.MakeHtmlBOC.makeHtml(MakeHtmlBOC.java:110)
at com._21cn.house.struts.action.fore.ThreadServlet.doPost(ThreadServlet
.java:78)
at com._21cn.house.struts.action.fore.ThreadServlet.doGet(ThreadServlet.
java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterC
hain.java:99)
at com._21cn.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEnc
odingFilter.java:70)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterCha
in.java:70)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain
.java:163)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocatio
n.java:208)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:259
)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:363)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:536)
java.lang.OutOfMemoryError------------------->内存溢出。