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 :

Créer un fichier en Java avec une URL


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 179
    Points : 77
    Points
    77
    Par défaut Créer un fichier en Java avec une URL
    Bonjour,

    je suis en train de créer un projet personnel avec Flash et Java. J'exécute le tout en local avec 2 serveurs, Apache (wampserver) et Glassfish.

    Flash ne permet pas de créer des fichiers sur un serveur donc je souhaite créer via Java un fichier sur le serveur. Le hic, c'est que je veux créer un fichier sur le serveur Apache, pas sur Glassfish.

    En gros j'ai ces URL (pointant sur des dossiers en local donc) :

    Glassfish : localhost:8080/...
    Apache : localhost:80/...

    Via Java, j'ai testé :

    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
     
    try {
    			URL url = new URL("http://localhost:80/preouverture_java/liste.xml");
    			URLConnection urlCon = url.openConnection();
    			urlCon.setDoOutput(true);
    			urlCon.connect();
     
    			DataOutputStream dos = new DataOutputStream(urlCon.getOutputStream());
    			dos.writeChars("test");
    			dos.flush();
    			dos.close();
    		} catch (MalformedURLException e) {
    			e.printStackTrace();
    			return false;			
    		} catch (IOException e) {
    			e.printStackTrace();
    			return false;
    		}
     
    		return true;
    Pas d'Exception catchée mais pas non plus de fichier créé...

    Comment puis je faire cela ?

    Merci beaucoup

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Pour créer des fichiers, c'est FileOutputStream et pas URL.openConnection(). (ce dernier servant à poster des données vers une service web). Ensuite, pour qu'apache les serve, t'as juste à les créer dans une dossier appartenant à apache.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 179
    Points : 77
    Points
    77
    Par défaut
    Salut,

    si j'utilise FileOutputStream avec un constructeur prenant en compte un String ou un URI, j'ai des Exception, je l'avais déjà testé en fait :

    cas avec FileOutputStream fos = new FileOutputStream(new File("http://localhost:80/preouverture_java/liste.xml")); :

    -> java.io.FileNotFoundException: http:\localhost:80\preouverture_java\liste.xml (Syntaxe du nom de fichier, de répertoire ou de volume incorrecte)


    cas avec FileOutputStream fos = new FileOutputStream(new File(new URI("http://localhost:80/preouverture_java/liste.xml"))); :

    -> java.lang.IllegalArgumentException: URI scheme is not "file"

    Bref, je nage...

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 560
    Points : 21 622
    Points
    21 622
    Par défaut
    Normal, un FileOutputStream ne peut écrire que sur les systèmes de fichiers, pas sur une URL.

    Pour être plus clair, on ne peut pas écrire sur une URL. Ça devrait être évident : tu n'as pas envie que le monde entier vienne mettre des fichiers sur ton serveur.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 179
    Points : 77
    Points
    77
    Par défaut
    Bonjour,

    je pensais que j'aurais pu écrire en local sur mes 2 serveurs en utilisant "http://..." et non "C:/..." mais si c'est pa possible pas grave je vais créer mon fichier manuellement

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrer et Ouvrir un fichier avec une URL
    Par Hanoni dans le forum Général Java
    Réponses: 4
    Dernier message: 25/09/2009, 09h41
  2. [CSV] Télécharger un fichier sur le serveur avec une URL
    Par bolandfranck dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2007, 13h33
  3. [Conception] Lister des fichiers avec une URL
    Par dontDeleteMe dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 20/03/2007, 08h16
  4. [ java.net ] récupérer un fichier PDF à partir d'une URL
    Par nico2280 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2005, 11h09
  5. [DOM] [JAVA + XML] Ouvrir un fichier xml à partir d'une url
    Par Hell dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 09/06/2005, 00h06

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