IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Comment enregistrer un téléchargement ?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 150
    Par défaut Comment enregistrer un téléchargement ?
    Bonjour à tous,
    Voilà, je suis en train de me développer un petit programme sous java qui me lance en fonction de mes options un certain nombre de téléchargement de fichier depuis un site météo.
    A une étape du téléchargé, le browser me demande soit d’ouvrir le fichier que je souhaite charger soit de l’enregistrer ou enregistrer souS.
    Pour ma part je souhaite enregistrer sous vers un chemin spécifique. Et ceux pour chacun de mes fichiers
    Comment faire s’il vous plaît sachant que mes connaissances sont proches du néant et que votre audes viendra m’aider à accroître ma connaissance.
    J’ajoutes Je précise que cette action est à faire à chaque page (fichier ) qui s’ouvre.
    Par avance merci pour vos réponse

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 105
    Par défaut
    Bonjour,

    Comment lances tu les dis téléchargement ? Ce n'est pas très claire. (Tu parles de java, puis de browser)
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 150
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Bonjour,

    Comment lances tu les dis téléchargement ? Ce n'est pas très claire. (Tu parles de java, puis de browser)

    bonjour wax, je lance directement le lien du fichier a télécharger celui -ci étant relativement simple dans le sens ou il n'y a chaque fois qu'une date a changer et des inputs

    par exemple mon app ouvre se lien puis en bas de m'a fenetre le navigateur me demande ce que je veux faire: ouvrir / enregistrer /... moi je veux enregistrer sous un chemin en particulier.
    une fois que j'ai indique ce chem le telechargement se lance.

    https://nomads.ncep.noaa.gov/cgi-bin....20190902%2F00

    Je souhaite donc pouvoir automaitser cette action d'enregistrer sous .

    petite precision, a noter que quand j'utilise chrome le fichier va direct dans telechargement et que quand j'utilise mozilla, internet explorer le navigateur me propose le fameux enregistrer sous. Bien sur, pour mes besoins je n'utilise pas chrome
    merci par avance

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 105
    Par défaut
    Oui mais cela n'a rien avoir avec Java, si ?

    Pourquoi passer par le browser et pas java tout simplement, c'est un nécessitée ?

    Normalement en java > 7 tu devrais pouvoir utiliser simplement ceci. (en remplacent FILE_URL et FILE_NAME)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    InputStream in = new URL(FILE_URL).openStream();
    Files.copy(in, Paths.get(FILE_NAME), StandardCopyOption.REPLACE_EXISTING);
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 150
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Oui mais cela n'a rien avoir avec Java, si ?

    Pourquoi passer par le browser et pas java tout simplement, c'est un necessitée ?
    Je sais pas. En fait je souhaite installer par la suite cette petite moulinette sur le pc du boulot. Sur lequel je ne pourrais pas forcément paramétrer le navigateur.
    Alors je me dis qu’avec java il doit exister des commande pour indiquer cela en remplaçant le click de ma souris non?
    Après mes connaissances sont minimes en informatique

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 105
    Par défaut
    Citation Envoyé par K2carca Voir le message
    Alors je me dis qu’avec java il doit exister des commande pour indiquer cela en remplaçant le click de ma souris non?
    Oui il est possible en java, comme je le disait dans mon precedent message de télécharger un fichier depuis une URL.

    Mais que ton code fait-il à l'heure actuelle et peut tu le poster ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 150
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Oui il est possible en java, comme je le disait dans mon precedent message de télécharger un fichier depuis une URL.

    Mais que ton code fait-il à l'heure actuelle et peut tu le poster ?
    bon voici mon code,

    attention, fait par un super amateur.

    en gros j'ouvre une fenetre dans laquelle je defini via une combo la version du fichier a aller chercher.
    puis la couverture géo (au travers des textfields)
    a cela j'essai de rajouter un autre filtre pour les jours

    a savoir un fichier chaque 3h le premier est toujours f000 donc pour 1 jours f000/003/006/009/012/015/018/021/024) etc... mon max est de 16jours. (mais la je n'y suis pas encore je fixe pour le moment mes 24h.

    je souhaite donc telecharger genre 80 fichiers par exemple dans un emplacement, pour ensuite les concatener en fonction d'un souhait (24/48/72/240h).
    pour la concatenation, mon java lancerai un bat que j'ai déjà créer mais bon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    String SV;
                       SV = jComboBox1.getSelectedItem().toString();
                       String leftlon; String rightlon; String toplat; String bottomlat;
                       leftlon = jTextField1.getText();
                       rightlon = jTextField2.getText();
                       toplat = jTextField3.getText();
                       bottomlat = jTextField4.getText();
     
                          try {
     
                LocalDate localdate;
            localdate = LocalDate.now();
                    String s = localdate.format(DateTimeFormatter.BASIC_ISO_DATE);
                       String URL1; 
                       String URL1A;
                       String URL1B; 
                       String URL2; String URL2A; String URL2B; String URL2C;String URL2D;String URL2E;String URL2F;String URL2G;String URL2H;
                       String URL3; String URL3A; String URL3B; String URL3C; String URL3D; String URL3E; String URL3F; String URL3G; String URL3H; 
                       String URL4;
                       String Adresse0; String Adresse1;String Adresse2;String Adresse3;String Adresse4;String Adresse5;String Adresse6;String Adresse7;String Adresse8;
                                             URL1 = "https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p50.pl?file=gfs.t";
                           URL1A = SV;
                           URL1B = "z.pgrb2full.0p50.";
                                   URL2 = "f000";
                                   URL2A = "f003";
                                   URL2B = "f006";
                                   URL2C = "f009";
                                   URL2D ="f012";
                                   URL2E="f015";
                                   URL2F="f018";
                                   URL2G="f021";
                                   URL2H="f024";
                                           URL3 = "&lev_1000_mb=on&lev_250_mb=on&lev_300_mb=on&lev_400_mb=on&lev_500_mb=on&lev_750_mb=on&lev_850_mb=on&var_TMP=on&var_UGRD=on&var_VGRD=on&subregion=&leftlon=";
                                                   URL3A = leftlon; 
                                                           URL3B = "&rightlon=";
                                                                   URL3C = rightlon;
                                                                           URL3D = "&toplat=";
                                                                                   URL3E = toplat;
                                                                                           URL3F = "&bottomlat=";
                                                                                                   URL3G = bottomlat;
                                                                                                           URL3H ="&dir=%2Fgfs.";  
                           URL4 = "%2F";
            Adresse0 = URL1 + URL1A + URL1B +URL2 +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
            Adresse1 = URL1 + URL1A + URL1B +URL2A +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
            Adresse2 = URL1 + URL1A + URL1B +URL2B +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
            Adresse3 = URL1 + URL1A + URL1B +URL2C +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
            Adresse4 = URL1 + URL1A + URL1B +URL2D +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
            Adresse5 = URL1 + URL1A + URL1B +URL2E +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
            Adresse6 = URL1 + URL1A + URL1B +URL2F +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
            Adresse7 = URL1 + URL1A + URL1B +URL2G +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
            Adresse8 = URL1 + URL1A + URL1B +URL2H +URL3 +URL3A +URL3B +URL3C +URL3D+ URL3E +URL3F +URL3G +URL3H +s +URL4 +URL1A;
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse0));
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse1));
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse2));
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse3));
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse4));
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse5));
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse6));
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse7));
                       java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse8));
           //System.out.println(Adresse1);
                   } catch (Exception e) {
                       JOptionPane.showMessageDialog(null,e.getMessage());
                   }


    encore une fois j'accepte la critique de chacun, car je suis ultra novice dans le milieu.
    en tout cas merci pour votre aide par avance.
    peut etre complexe pour un débutant comme moi

  8. #8
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 105
    Par défaut
    Re,

    Bon voici déjà quelques éléments que tu devrais essayer d'améliorer avant tout :

    - Il faudrait que tu utilises des boucles au lieu de déclarer 8 fois le même comportement avec l'aide de 8 variables. : https://java.developpez.com/livres-c...ge=bases#LVI-K
    - Tu peux concaténer les chaines de caractères autremenet : https://java.developpez.com/faq/java...-de-caracteres
    - Tu pourras peut être remplacer les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.awt.Desktop.getDesktop().browse(java.net.URI.create(Adresse5));
    par ce que je t'ai donné comme solution l'autre jour.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Stream Java 8 : Comment enregistrer dans un fichier proprement ?
    Par kolodz dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 24/08/2015, 20h51
  2. Réponses: 16
    Dernier message: 22/03/2005, 22h57
  3. Réponses: 10
    Dernier message: 16/12/2004, 16h23
  4. [DOM] comment enregistrer les modifs?
    Par noobiewan kenobi dans le forum Format d'échange (XML, JSON...)
    Réponses: 26
    Dernier message: 30/07/2004, 11h56
  5. Comment enregistrer un stream de longueur fixe ?
    Par Alcarbone dans le forum MFC
    Réponses: 5
    Dernier message: 13/04/2003, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo