venerdì 18 maggio 2012

Leggere un file csv utilizzando la classe URL

Di seguito il codice per leggere un csv disponibile su internet ad un particolare indirizzo web.
In questo caso vado a leggermi un file csv con i dettagli dei tassi di cambio tra monete disponibile all'URL

http://uif.bancaditalia.it/UICFEWebroot/QueryOneDateAllCur?lang=ita&rate=1&initMonth={0}&initYear={1}&refCur=euro&R1=csv

Dove al posto di {0} e {1} vanno inseriti i valori di un mese (da 01 a 12) e di un anno (4 cifre).

Di seguito il codice:


package it.moneyBatch;
import java.net.*;
import java.io.*;
import java.text.MessageFormat;
public class CaricaCsvMonete {
   
    public static final String URL="http://uif.bancaditalia.it/UICFEWebroot/QueryOneDateAllCur?lang=ita&rate=1&initMonth={0}&initYear={1}&refCur=euro&R1=csv";

    /**
     * @param args
     */
    public static void main(String[] args) {
        BufferedReader br = null;
        try
        {
            URL url;
            URLConnection urlConn;
           
            url=new URL(getUrl("2012", "04"));
            urlConn = url.openConnection();
            urlConn.setDoInput(true);
            urlConn.setUseCaches(false);
            String s;
            br=new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
            while ((s = br.readLine()) != null) {
                s = br.readLine();
                System.out.println(s);
            }
            br.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }

    }
   
    private static String getUrl(String anno,String mese){
        return MessageFormat.format(URL, new Object[]{mese,anno});
    }

}

Nessun commento:

Posta un commento