为什么我用JAVA编写的这个程序不能实现从网上下载一张图片并保存到电脑上呢?请各位高手指教!

程序如下:packageurl;importjava.net.*;importjava.io.*;publicclassDownloadphoto{staticStrin... 程序如下:
package url;
import java.net.*;
import java.io.*;
public class Downloadphoto
{
static String str="http://www.gdut.edu.cn/newgdut/images/8.gif";
static URL url;
public static void main(String args[])
{
try
{
url=new URL(str);
DataInputStream in=new DataInputStream(url.openStream());
FileOutputStream out=new FileOutputStream("d:\\downloadphoto.gif");
byte b[]=new byte[in.available()];
in.read(b);
out.write(b);
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch(IOException e){}
}
}
展开
 我来答
showall
2012-01-02
知道答主
回答量:9
采纳率:0%
帮助的人:14.9万
展开全部
朋友我还是告诉你思路先:用流的方法,先获取地址,再用 URLConnection 函数获取输入流,有了输入流,之后把数据弄进输出流里。代码如下

public static void main(String[] args) {
Scanner s=new Scanner(System.in);//在显示面板上手动输入的函数
int k=0;//配合输出数据用的
System.out.println("请你输入下载地址");
String dz=s.nextLine()://地址如:http...的,把输入的数据放进DZ变量里
URL url=new URL(dz);
URLConnection c=url.openConnection();//返回一个Connection对象。
InputStream in=c.getInputStream();//读取的输入流。
String fname = url.getFile().substring(url.getFile().lastIndexOf("/") + 1);//
"这是一个网站"http://www.111.com/kk/1.mp3",url.getFile().lastIndexOf("/") + 1;这句意思是到网站最后一个"/",根据上面的网址/1.mp3,后面再加一位,结果就是1.mp3,它作用是在此字符串中最右边出现的指定子字符串的索引(数字)。
substring这个函数是可以从字符串第几个数字开始并返回一个新的字符串。
这句话的意思是:lastIndexOf("/")+1找到最后一个像"/"字符,然后移一位在哪个位置设一个索引(数字),然后substring是根据这个索引(数字)找到后面那些字符串。

String xxx=fname.substring(fname .lastIndexOf(".")+1);//取文件的后续名(.mp3、.rmvb)之类
System.out.println("输入文件名:");
String bcwj=s.nextLine();
FileOutputStream out=new FileOutputStream("D:/m/"+bcwj+"."+xxx);
System.out.println("开始下载");

while((k=in.read())>=0){
out.write(k);

out.flush();
}
out.close();
in.close();
System.out.println("下载完成");
}
673850771
2011-12-30 · 超过13用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:22.3万
展开全部
首先 即使文件的路径是本地磁盘的图片 这段代码也读不出来图片 曾经我做过这个实验 后来别人告诉我说貌似得用一个image的包 但是由于没有时间就没深究 其次 如果想在网上下载图片的话应该调用浏览器 貌似是Browse...查下API看看就知道了....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式