Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Ciao A Tutti!!

    Ho scritto e in parte copia/incollato un programmino che posto sotto e che dovrebbe connettersi ad un sito scaricare un file csv.

    Il problema è che quando apro il file è vuoto.

    Posto sotto il codice ciao.

    codice:
    import java.io.BufferedReader;
    import java.io.FileWriter;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import java.net.Proxy;
    import java.net.InetAddress;
    import java.net.InetSocketAddress;
    import java.net.URL;
    import java.net.URLConnection;
    public class DownloadFile {
    
    
        public static void main(String[] args) {
    
    
         try
         {
    
            URL url = new URL("http://download.finance.yahoo.com/d/quotes.csv?s=FTSEMIB.MI&f=sl1d1t1c1ohgv&e=.csv");
    URLConnection urlConnection = url.openConnection();
    urlConnection.connect();
    InputStream input = url.openStream();
                  FileWriter fw = new FileWriter("DatiBorsa.csv");
    
    
              Reader reader = new InputStreamReader(input);
              BufferedReader bufferedReader = new BufferedReader(reader);
              String strLine = "";
    
                         int count = 0;
              while(count < 10000)
              {
                               strLine = bufferedReader.readLine();
                 if(strLine != null)
                 {
    
                    fw.write(strLine);
                   }
                 count++;
              }
    
           } catch ( Exception e )
           {
           e.printStackTrace();
                }
       }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Ciao A Tutti!!

    Originariamente inviato da dariofederici
    Il problema è che quando apro il file è vuoto.
    Innanzitutto non vedo il close() del FileWriter. Che andrebbe sempre fatto, anche in caso di eccezioni, quindi devi gestire appropriatamente le eccezioni sfruttando di certo almeno un try/finally.

    Un'altra cosa è che l' "idioma" tipico di lettura da un BufferedReader è questo:

    codice:
    String strLine;
    
    while ((strLine = br.readLine()) != null) {
        ....usa strLine.....
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Ciao A Tutti!!

    E comunque se, detto in generale, vuoi scaricare un file pari pari cioè esattamente byte per byte, devi leggere dal InputStream e scrivere su un FileOutputStream. Vedi il mio esempio qui
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Prima di proseguire, prendi visione del Regolamento interno.

    In particolare:

    1) I titoli non vanno dati a casaccio: essi devono dare l'idea del contenuto della discussione
    2) Il codice va postato intentato e all'interno degli appositi tag CODE (fai riferimento al punto 6 del regolamento che ho linkato)

    Cerco di dare una sistemata a questa discussione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5

    GRAZIE

    GRAZIE AndBin funziona da dio è proprio quello che cercavo!!!!!!!!!!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.