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

JSF Java Discussion :

Création de fichier à partir d'un bean java


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 37
    Points
    37
    Par défaut Création de fichier à partir d'un bean java
    Bonjour
    Je veux créer un fichier à partir d'un autre uploadé à partir de l'interface JSP/JSF. Le problème est que mon code fonctionne bien sur windows mais pas sur Linux.
    Mon code est le suivant:
    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
    String location=cheminImgagePieces+nom_fichier;
    File chemin = new File(cheminImgagePieces);
    try {
    	//Création du répertoire de stockage des images s'il ne l'a pas été
    				if(!chemin.exists())
    					chemin.mkdir();
    				//Création du fichier a stocké dans le serveur
    				f = new File(location);
    				f.setWritable(true);
    				f.createNewFile();
     
     
    			} catch (IOException e1) {
    				e1.printStackTrace();
    			}
    Qu'est ce qui doit être la cause de cela? Quelqu'un a une idée?

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Tu as une erreur ? Si oui, quelle est la stacktrace ?

    Si ton code fonctionne sur Windows et pas sur Linux, c'est sans doute dû au nom du fichier.
    Par exemple, si celui-ci vaut "c:\\quelque\\part\\monfichier.txt", alors sur Linux ça ne passera pas...

    A noter qu'il est préférable d'utiliser le File.pathSeparator au lieu de "/" ou "\\" pour marquer les répertoires.

  3. #3
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Check un peu les séparateurs de fichiers, c'est pas forcément idem sur les 2 OS.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 37
    Points
    37
    Par défaut
    Voici le chemin dont je passe au constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    location='./webapps/mpayment/fichiers/logo-linux.png'
    File f = null;
    			try {
    f = new File(location);
    				f.setWritable(true);
    				f.createNewFile();
     
     
    			} catch (IOException e1) {
    				e1.printStackTrace();
    			}
    J'utilise tomcat6 et mpayment est le nom de mon application.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 37
    Points
    37
    Par défaut
    Personne n'a pas une idée?

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu as eu des idées d'où vient le problème..
    utilise plutôt getContextPath de l'objet request, pour récupérer le chemin de ton application.

  7. #7
    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
    n'utilise jamasi des chemins relatif. Suivant la manière dont tomcat a été démarré, "." peut pointer vers n'importe quel répertoire du système!

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 37
    Points
    37
    Par défaut
    Je récupère le chemin complet de mon application. Et il correspond ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/local/tomcat6/webapps/nom_mon_appli/
    Le chemin du fichier dont je veux créer est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    location=/usr/local/tomcat6/webapps/nom_mon_appli/fichiers/logolinux1.png
    Rappel de mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    location=/usr/local/tomcat6/webapps/nom_mon_appli/fichiers/logolinux1.png
    File f = null;
    			try {
    f = new File(location);
    				f.setWritable(true);
    				f.createNewFile();
     
     
    			} catch (IOException e1) {
    				e1.printStackTrace();
    			}
    Mais jusqu'à présent mon fichier n'est pas créé sous Linux.

  9. #9
    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
    et quelle exception as-tu? Que renvoie "createNewFile" ?

Discussions similaires

  1. [Shell/Awk] Création de fichiers à partir d'un champ
    Par thomas59000 dans le forum Shell et commandes GNU
    Réponses: 16
    Dernier message: 06/05/2011, 15h29
  2. Réponses: 0
    Dernier message: 28/02/2011, 14h48
  3. ouvrir un fichier à partir d'un bouton java
    Par java2007 dans le forum Général Java
    Réponses: 5
    Dernier message: 27/03/2007, 13h53
  4. Pb de création de fichier à partir d'un blob
    Par clairette dans le forum Entrée/Sortie
    Réponses: 20
    Dernier message: 28/08/2006, 10h51
  5. [Servlet][EJB]lire un fichier à partir de mon bean
    Par kimausoleil dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/02/2004, 15h26

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