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

Langage Java Discussion :

Conversion String en File


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut Conversion String en File
    Bonjour, j'ai un enregistrement de chemin+ nom de fichier dans une arrayList du type :
    C:\Documents and Settings\xxxxxxxxx\Bureau\Xml\xxxxxxxxxxxxx.xml

    J'aimerais ensuite mettre toutes ces données dans un file.

    J'ai fais ca , mais ca 'a ps l'air de marcher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    			File[] listFichier = null;
    			for(int i=0;i<nomFichier.size();i++){
    				 listFichier[i]=(File) nomFichier.get(i);
    			}

  2. #2
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    est ce que ceci marcherait pas mieux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    File[] listFichier = null;
     for(int i=0;i<nomFichier.size();i++){
     listFichier[i]= new File(nomFichier.get(i));
     }

  3. #3
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    j'obtiens ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Gojava.lang.NullPointerException

  4. #4
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    d'apres la javadoc, si tu obtiens un NullPointerException, c'est que la valeur que tu passes quand tu construits ton File est null.

    Mais est ce que tu veux créer une liste de File ou tu veux copier tout tes chemins dans un File, c'est pas tres clair

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Peut-être quand instanciant le tableau de File cela irait tout de suite mieux.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    je veux copier tous les chemin dans un File, ca serait peut etre plus logique de passer directement par un File qu'une ArrayList ?

    Voila ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	 public ArrayList StockerNomFichier (String nom){
    		 nomFichier.add(nom);		 
    		 return nomFichier;
    	 }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
    			 {
    			 File selectionFichier[] = chooser.getSelectedFiles();
    			 String fichier="";
    			 for (int i=0,n=selectionFichier.length; i<n; i++) {
    				 fichier=selectionFichier[i].getName()+"\n"+fichier;	
    				 StockerNomFichier(selectionFichier[i].getAbsolutePath());;
    			 }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	 boutonConfirm.addActionListener(new ActionListener(){
    		 public void actionPerformed(ActionEvent ev){
    			 Main.maMethode(nomFichier);
    		 }
    	 });
    et ensuite dans maMethode j'aimerais avoir le File

  7. #7
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    J'ai tous remodifié afin davoir quelque chose de bcp plus propre (cétait pas dur ).


    Mon nouveau probleme (va en navrer plus d'un je pense) :

    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
    public static void process(File[] listFichier){
    		try {
    		      for(int i = 0; i < listFichier.length; i++){		      
    		    	  System.out.println("Nom de la cible : " + listFichier[i].getName());
    		    	  String nomCourt = (listFichier[i].getName() != null) ? listFichier[i].getName().substring(0,listFichier[i].getName().indexOf('.')) : "";
    		    	  j++;
    		    	  System.out.println(listFichier[i].getAbsolutePath());
     
     
    			//construction du fichier XML
    			DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();				
    			fabrique.setNamespaceAware(true);			
    			DocumentBuilder analyseur = fabrique.newDocumentBuilder();
     
    			//création du fichier XML
    			Document doc = analyseur.parse(new File(listFichier[i]..getAbsolutePath()));
    			DOMSource sourceXML = new DOMSource(doc);		
     
    			//Création du fichier XSL
    			doc = analyseur.parse(Main.class.getResourceAsStream("Transformation.xsl"));
    			DOMSource sourceXSL = new DOMSource(doc);
     
    			TransformerFactory trFact = TransformerFactory.newInstance();
    			Transformer transformeur = trFact.newTransformer(sourceXSL);
    			transformeur.setOutputProperty(OutputKeys.METHOD, "html");
    			transformeur.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
    			transformeur.setOutputProperty(OutputKeys.INDENT, "yes");
     
    //			transformeur.setParameter("num", "6");
     
    			File oFic = new File(nomCourt+".vm");
     
    			FileOutputStream fos = new FileOutputStream(oFic);
     
    			if (fos != null) {
    				Result sortie = new StreamResult(fos);
    				transformeur.transform(sourceXML, sortie);
    							}			
    			fos.flush();
    			fos.close();
    .......................................................
    J'ai passé un tableau de File en argument de la méthode , mais maintenant, le prog va chercher les fichiers dans le bon répertoire mais créer e fichier de sortie dans le rep courant ...
    Merci pour votre patience..

  8. #8
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par Katachana
    File oFic = new File(nomCourt+".vm");
    La création d'un fichier avec un nom cours s'effectue toujours dans le répertoire de travail de ton application.

    si tu veux le mettre dans un autre répertoire, il faut utiliser:

    - new File("chemin absolu vers ton fichier")
    - new File("chemin relatif vers ton fichier a partir de ton repertoire de travail")
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  9. #9
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    Je n'ai pas montré la suite de l'appli :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    			File oFic = new File(listFichier[i].getAbsolutePath());
    			FileOutputStream fos = new FileOutputStream(oFic);
     
    			if (fos != null) {
    				Result sortie = new StreamResult(fos);
    				transformeur.transform(sourceXML, sortie);
    							}			
    			fos.flush();
    			fos.close();
    			System.out.println("XSL transf done");
    Merci pour ta remarque , le probleme est que cela entraine une nouvelle erreur, il ne trouve plus le fichier crée pour la suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Velocity.init();
    			VelocityContext context = new VelocityContext();
    			context.put( "date", new DateHelper());
    			Template template = Velocity.getTemplate(nomCourt+".vm");
    			FileWriter fw = new FileWriter(nomCourt+".xls");
    			template.merge( context, fw );	
     
    			fw.close();
    			oFic.deleteOnExit();

  10. #10
    Membre confirmé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Points : 503
    Points
    503
    Par défaut
    c'est bon j'ai, trouver , il y avait une propiété particuliere a ajouter pour que Velocity tienne compte de l'URI.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			Properties p = new Properties();
    			p.setProperty("file.resource.loader.path", "C:/Documents and Settings/xxxxxx/Bureau/");
    			Velocity.init(p);

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

Discussions similaires

  1. Conversion contenu objet File en variable String
    Par theleek dans le forum JSF
    Réponses: 2
    Dernier message: 20/12/2007, 11h31
  2. [Conversion] String en InputStream
    Par canou94 dans le forum Langage
    Réponses: 5
    Dernier message: 22/02/2005, 15h04
  3. [CONVERSION] String -> HEXADECIMAL ...
    Par tripop dans le forum Langage
    Réponses: 9
    Dernier message: 13/01/2005, 09h42
  4. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 18h36
  5. [FLASH MX 2004] conversion string en int.
    Par calfater dans le forum Flash
    Réponses: 3
    Dernier message: 26/05/2004, 15h00

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