当前位置:首页 » 编程语言 » java下载url文件

java下载url文件

发布时间: 2023-03-03 10:12:11

java中URL下载文件的问题。程序有问题,下载的mp3文件比原来的大,请问问题出在哪里

is.read()的返回实际从网上读取的字节数,而你是只按2KB写入,导致多写

整个while改成

intc;
while((c=is.read(bfr))!=-1){
fos.write(bfr,0,c);
}

Ⅱ java下载服务器上的文件到客户端

java编程方法下载服务器上的文件到本地客服端,代码如下:

importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileOutputStream;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.InputStream;
importjava.net.URL;
importjava.net.URLConnection;

publicclassDownLoad{
publicstaticvoiddownloadFile(URLtheURL,StringfilePath)throwsIOException{
FiledirFile=newFile(filePath);
if(!dirFile.exists()){
//文件路径不存在时,自动创建目录
dirFile.mkdir();
}
//从服务器上获取图片并保存
URLConnectionconnection=theURL.openConnection();
InputStreamin=connection.getInputStream();
FileOutputStreamos=newFileOutputStream(filePath+"\123.png");
byte[]buffer=newbyte[4*1024];
intread;
while((read=in.read(buffer))>0){
os.write(buffer,0,read);
}
os.close();
in.close();
}
publicstaticvoidmain(String[]args){
//下面添加服务器的IP地址和端口,以及要下载的文件路径
StringurlPath="http://服务器IP地址:端口/image/123.png";

//下面代码是下载到本地的位置
StringfilePath="d:\excel";

URLurl=newURL(urlPath);

try{

downloadFile(url,filePath);

}catch(IOExceptione){

e.printStackTrace();

}

}

}

Ⅲ 使用java编写一个多线程下载器,需要在URL栏中输入网址,然后通过网址下载。该怎么实现,求源代码

swing做前台界面。后台使用java.net中的HTTPConnection下载就OK。下载可以用getInputStream()获取数据,然后写入文件。只提供思路,无代码。不搞java好多年……

Ⅳ 设计一个JAVA程序,下载由URL指定的网页的源代码,找出其中所有的超链接。

importjava.awt.BorderLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.net.HttpURLConnection;
importjava.net.MalformedURLException;
importjava.net.URL;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;

importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;

{
privateJTextFielrlInput;
privateJTextAreaviewArea;

publicstaticvoidmain(String[]args){
newHttpViewer();
}

publicHttpViewer(){
this.setTitle("HttpViewer");
this.setSize(800,600);
this.setResizable(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
initPanel();
initAction();
this.setVisible(true);
}

//这个方法用来设置窗口布局
privatevoidinitPanel(){
JPanelnorthPanel=newJPanel();
JLabelurlInputLabel=newJLabel("URL:");
urlInput=newJTextField(60);
northPanel.add(urlInputLabel);
northPanel.add(urlInput);
this.add(northPanel,BorderLayout.NORTH);

JPanelcenterPanel=newJPanel();
viewArea=newJTextArea(27,60);
centerPanel.add(newJScrollPane(viewArea));
this.add(centerPanel);
}

//这个方法用来设置事件
privatevoidinitAction(){
urlInput.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringtext=urlInput.getText();
if(text==null||text.length()==0){
viewArea.setText("您没有输入URL");
return;
}
try{
URLurl=newURL(text);
Stringcontext=getContent(url);
if(context!=null){
searchFromText(context);
}
}catch(MalformedURLExceptione1){
viewArea.setText("您输入的URL不合法:"+text);
}
}
});
}

privateStringgetContent(URLurl){
StringBufferbuilder=newStringBuffer();

intresponseCode=-1;
HttpURLConnectioncon=null;
try{
con=(HttpURLConnection)url.openConnection();
con.setRequestProperty("User-Agent",
"Mozilla/4.0(compatible;MSIE5.0;WindowsNT;DigExt)");//IE代理进行下载
con.setConnectTimeout(60000);
con.setReadTimeout(60000);

//获得网页返回信息码
responseCode=con.getResponseCode();

if(responseCode==-1){
viewArea.setText("连接失败:"+url.toString());
returnnull;
}

if(responseCode>=400){
viewArea.setText("请求失败,错误码:"+responseCode);
returnnull;
}

InputStreamis=con.getInputStream();
InputStreamReaderisr=newInputStreamReader(is);
BufferedReaderbr=newBufferedReader(isr);

Stringstr=null;
while((str=br.readLine())!=null)
builder.append(str);
is.close();
}catch(IOExceptione){
e.printStackTrace();
viewArea.setText("IOException:"+url.toString());
}finally{
con.disconnect();
}
returnbuilder.toString();
}

privatevoidsearchFromText(Stringcontext){
viewArea.setText("查找URL中: ");
Patternpattern=Pattern.compile("<a([^>]+)*>(.*?)</a>");
Matchermatcher=pattern.matcher(context);
while(matcher.find()){
for(Stringprop:matcher.group(1).split("")){
intindexOf=prop.indexOf('=');
if(indexOf>0){
if(prop.substring(0,indexOf).equals("href")){
Stringurl2=prop.substring(indexOf+2,prop.length()-1);
viewArea.append(url2+" ");
}
}
}
}
}

}

Ⅳ Java 利用url下载MP3保存到本地

//mp3Url MP3的URL
InputStream in=new URL(mp3Url).openConnection().getInputStream(); //创建连接、输入流
FileOutputStream f = nre FileOutputStream("c:\mmm.mp3");//创建文件输出流
byte [] bb=new byte[1024]; //接收缓存
int len;
while( (len=in.read(bb))>0){ //接收
f.write(bb, 0, len); //写入文件
}
f.close();
in.close();
基本框架,自己调试修改一下

Ⅵ 我用java做了一个通过url地址下载指定文件的功能,文件名可能包含中文,IE正常,火狐失败.

您好!很高兴为您答疑!

火狐下您可以安装Firebug检查页面代码,它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体,是开发JavaScript、CSS、HTML和Ajax的得力助手。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。

热点内容
mobisage文件夹 发布:2024-11-07 09:29:16 浏览:876
车载安卓机怎么清理垃圾 发布:2024-11-07 09:12:51 浏览:450
外网访问vmware 发布:2024-11-07 08:51:03 浏览:952
安卓和苹果怎么快传 发布:2024-11-07 08:50:44 浏览:636
安卓和鸿蒙哪个系统更省空间 发布:2024-11-07 08:39:30 浏览:482
解压精子 发布:2024-11-07 08:37:56 浏览:256
android搭建服务器端 发布:2024-11-07 08:33:31 浏览:784
什么软件缓存视频快 发布:2024-11-07 08:29:19 浏览:849
参数访问键 发布:2024-11-07 08:08:43 浏览:138
ftp服务器搭建教程win10 发布:2024-11-07 08:06:20 浏览:260