加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

从java应用程序下载文件

发布时间:2020-12-15 08:35:40 所属栏目:Java 来源:网络整理
导读:嗨,我需要一些帮助从我的 Java应用程序下载文件. 该URL为“http://my.site.com/UICFEWebroot/QueryOneDateAllCur?lang=itau0026amp;rate=0u0026amp;initDay=11u0026amp;initMonth=10u0026amp;initYear=2010u0026amp;refCur=eurou0026amp;R1=csv” 我尝
嗨,我需要一些帮助从我的 Java应用程序下载文件.

该URL为“http://my.site.com/UICFEWebroot/QueryOneDateAllCur?lang=itau0026amp;rate=0u0026amp;initDay=11u0026amp;initMonth=10u0026amp;initYear=2010u0026amp;refCur=eurou0026amp;R1=csv”

我尝试使用此代码,但结果是一个空文件

URL urlAgg = new URL(address);  

int lf = urlAgg.openConnection().getContentLength();  
FileOutputStream fos = new FileOutputStream("agg" + File.separator + "cambio" + gg + mm + aaaa + ".csv");   
InputStream in = urlAgg.openStream();  
for (int i = 0; i < lf; i++)
  {
   byte[] b = new byte[1];   
   in.read(b);  
   fos.write(b);   
  }

fos.close();  
in.close();

解决方法

这对我有用:

package download;

import java.io.*;
import java.net.URL;

/**
 * DownloadDemo
 * User: Michael
 * Date: Oct 11,2010
 * Time: 10:19:34 AM
 */
public class DownloadDemo
{
    public static void main(String[] args)
    {
        StringBuilder contents = new StringBuilder(4096);
        BufferedReader br = null;

        try
        {
            String downloadSite = ((args.length > 0) ? args[0] : "http://www.google.com");
            String outputFile = ((args.length > 1) ? args[1] : "currencies.csv");
            URL url = new URL(downloadSite);
            InputStream is = url.openConnection().getInputStream();
            br = new BufferedReader(new InputStreamReader(is));
            PrintStream ps = new PrintStream(new FileOutputStream(outputFile));
            String line;
            String newline = System.getProperty("line.separator");
            while ((line = br.readLine()) != null)
            {
                contents.append(line).append(newline);
            }
            ps.println(contents.toString());
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            try { if (br != null) br.close(); } catch(IOException e) { e.printStackTrace(); }
        }
    }
}

这是结果的一部分(太大而不适合整个事情):

C:JDKsjdk1.6.0_13binjava -Didea.launcher.port=7533  com.intellij.rt.execution.application.AppMain download.DownloadDemo http://uif.bancaditalia.it/UICFEWebroot/QueryOneDateAllCur?lang=ita&rate=0&initDay=11&initMonth=10&initYear=2010&refCur=euro&R1=csv
Quotazioni in euro riferite al 11/10/2010""Paese,Valuta,Codice ISO,Codice UIC,Quotazione,Convenzione di cambio,Nota""AFGHANISTAN,Afghani,AFN,115,62.8792,Foreign currency amount for 1 Euro,CAMBI INDICATIVI CALCOLATI GIORNALMENTE DA BI SULLA BASE DELLE RILEVAZIONI DI MERCATOALBANIA,Lek,ALL,047,138.163,CAMBI INDICATIVI CALCOLATI GIORNALMENTE DA BI SULLA BASE DELLE RILEVAZIONI DI MERCATOALGERIA,Dinaro Algerino,DZD,106,103.035,CAMBI INDICATIVI CALCOLATI GIORNALMENTE DA BI SULLA BASE DELLE RILEVAZIONI DI MERCATOANGOLA,Readjustado Kwanza,AOA,087,128.395,CAMBI INDICATIVI CALCOLATI GIORNALMENTE DA BI SULLA BASE DELLE RILEVAZIONI DI MERCATOANTIGUA E BARBUDA,Dollaro Caraibi Est,XCD,137,3.76272,CAMBI INDICATIVI CALCOLATI GIORNALMENTE DA BI SULLA BASE DELLE RILEVAZIONI DI MERCATOANTILLE OLANDESI,Fiorino Antille Olandesi,ANG,132,2.48061,CAMBI INDICATIVI CALCOLATI GIORNALMENTE DA BI SULLA BASE DELLE RILEVAZIONI DI MERCATOARABIA SAUDITA,Riyal Saudita,SAR,075,5.22619,CAMBI INDICATIVI CALCOLATI GIORNALMENTE DA BI SULLA BASE DELLE RILEVAZIONI DI MERCATOARGENTINA,Peso Argentina,ARS,216,5.51578,Foreign currency amount for 1 EuroCAMBI INDICATIVI CALCOLATI GIORNALMENTE DA BI SULLA BASE DELLE RILEVAZIONI DI MERCATO

Process finished with exit code 0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读