当前位置: 技术问答>javascript开源软件
iis7站长之家
URLConnection 问题?请熟悉的一定帮忙!
来源: 互联网 发布时间:2015-03-30
本文导语: URLCONNECTION 对象可以实现对远程资源的读取,现在我需要读取另外一台机器上的一副图片(该图片已发布在WEB上,即有相应的URL地址),于是我用下面一段JSP程序,想把他读出来写在我的机器上! 运行的WEB平台...
URLCONNECTION 对象可以实现对远程资源的读取,现在我需要读取另外一台机器上的一副图片(该图片已发布在WEB上,即有相应的URL地址),于是我用下面一段JSP程序,想把他读出来写在我的机器上!
运行的WEB平台是RESIN2.03
结果出现问题:
1.只能传GIF图片
2.运行及不稳定,有时候能读到该图片所有的字节,有时只有一半,极少情况下能读完!(刷新很多次)
3.图片>5K后成功的可能性更小!
该怎么办,帮帮忙!
运行的WEB平台是RESIN2.03
结果出现问题:
1.只能传GIF图片
2.运行及不稳定,有时候能读到该图片所有的字节,有时只有一半,极少情况下能读完!(刷新很多次)
3.图片>5K后成功的可能性更小!
该怎么办,帮帮忙!
|
int contentLength=in_stream.available();
byte[] content=new byte[contentLength];
out.print(contentLength);
不要用这种方式。
Read a GIF or CLASS from an URL save it locally
import java.io.*;
import java.net.*;
public class suckURL {
String aFile;
String aURL;
public static void main(String args[]) {
// GIF JAVA How-to at Real's Home
String url =
"http://www.rgagnon.com/images/";
suckURL b = new suckURL(url, "jht.gif");
b.doit();
}
suckURL(/tech-qa-java/String u, String s/index.html){
aURL = u;
aFile = s;
}
public void doit() {
DataInputStream di = null;
FileOutputStream fo = null;
byte [] b = new byte[1];
try {
System.out.println("Sucking " + aFile);
System.out.println(" at " + aURL );
// input
URL url = new URL(/tech-qa-java/aURL aFile/index.html);
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
di = new DataInputStream(urlConnection.getInputStream());
// output
fo = new FileOutputStream(aFile);
// copy the actual file
// (it would better to use a buffer bigger than this)
while(-1 != di.read(b,0,1))
fo.write(b,0,1);
di.close();
fo.close();
}
catch (Exception ex) {
System.out.println("Oups!!!");
ex.printStackTrace();
System.exit(1);
}
System.out.println("done.");
}
}
byte[] content=new byte[contentLength];
out.print(contentLength);
不要用这种方式。
Read a GIF or CLASS from an URL save it locally
import java.io.*;
import java.net.*;
public class suckURL {
String aFile;
String aURL;
public static void main(String args[]) {
// GIF JAVA How-to at Real's Home
String url =
"http://www.rgagnon.com/images/";
suckURL b = new suckURL(url, "jht.gif");
b.doit();
}
suckURL(/tech-qa-java/String u, String s/index.html){
aURL = u;
aFile = s;
}
public void doit() {
DataInputStream di = null;
FileOutputStream fo = null;
byte [] b = new byte[1];
try {
System.out.println("Sucking " + aFile);
System.out.println(" at " + aURL );
// input
URL url = new URL(/tech-qa-java/aURL aFile/index.html);
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
di = new DataInputStream(urlConnection.getInputStream());
// output
fo = new FileOutputStream(aFile);
// copy the actual file
// (it would better to use a buffer bigger than this)
while(-1 != di.read(b,0,1))
fo.write(b,0,1);
di.close();
fo.close();
}
catch (Exception ex) {
System.out.println("Oups!!!");
ex.printStackTrace();
System.exit(1);
}
System.out.println("done.");
}
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。