Mettre des variables dans l’adresse url

albert95 Messages postés 24 Statut Membre -  
albert95 Messages postés 24 Statut Membre -
Bonjour à tous et à toutes,

Je cherche à mettre des variables dans l’adresse url http://ichart.yahoo.com/table.csv?s=^FCHI&d=11&e=18&f=2006&g=d&a=2&b=1&c=1990&ignore=.csv
Pour la modifier. J’ai cru pouvoir procéder ainsi :
String isin;
isin="^FCHI";
je remplace FCHI par isin dans l’adresse url : http://ichart.yahoo.com/table.csv?s=isin&d=11&e=18&f=2006&g=d&a=2&b=1&c=1990&ignore=.csv

la compilation se passe bien, mais pas l’exécution :
java.io.FileNotFoundException: http://ichart.yahoo.com/table.csv?s=isin&d=11&e=18&f=2006&g=d&a=2&b=1&c=1990&ignore=.csv
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1239)
at Test.main(Test.java:33)

//*******************//
je suppose donc qu’il y a deux corrections possibles :

1/ String isin;
isin="^FCHI";

cette codification est insuffisante à affecter la valeur FCHI à la variable isin

ou

2/ FCHI est affecté à isin mais l’insertion de isin dans l’url n’est pas correcte...

dans vba pour excel, il faut ajouter un encadrement « & isin & » pour que la variable puisse être affectée à l’adresse url. J’ai essayé cette solution avec le code java, ça ne marche pas.

Merci d’avance à celui/celle qui pourra m’aider à résoudre ce problème

albert

//*******************//


Le code que j’essaie d’adapter :


import java.io.*;
import java.net.*;
public class Test
{
public Test() {
}
public static void main(String argv[])
{
String isin;
isin="^FCHI";
//*********
try
{
URL url= new URL("http://ichart.yahoo.com/table.csv?s=isin&d=11&e=18&f=2006&g=d&a=2&b=1&c=1990&ignore=.csv");
URLConnection con= url.openConnection();

InputStream in = con.getInputStream();
FileOutputStream out= new FileOutputStream("isin.csv");
byte[] buffer= new byte[1024];
int size;

while( (size= in.read(buffer, 0, 1024)) > 0 )
out.write(buffer, 0, size);

System.out.println("le fichier a ete chargé : ");
}
catch(IOException e)
{
e.printStackTrace();
}
}//main
}//class
A voir également:

2 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Heu là comme tu le fais, tu envoies directement la chaine isin et non pas le contenu de la variable
il faut que tu passes par la concaténation :
URL url= new URL("http://ichart.yahoo.com/table.csv?s="+isin+"&d=11&e=18&f=2006&g=d&a=2&b=1&c=1990&ignore=.csv ");
0
albert95 Messages postés 24 Statut Membre
 
Merci jeangilles,
Je ne pensais pas avoir une réponse aussi rapide.
Ça fonctionne, je vais pouvoir travailler avec un boucle pour charger plusieurs .csv.

... mais une boucle ??? sur excel on met la liste dans la feuille et la boucle lit chaque ligne, l’une après l’autre... avec java je fais comment pour lire la liste dans un .txt ou un .csv ?
AC.PA
ACA.PA
AF.PA
AI.PA

Toutes mes excuses pour l’envoi de tout le code... je ne suis pas un habitué de ce forum et, de plus, je débute en java, alors, pour me faire comprendre.


albert
0