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

avec Java Discussion :

Appliquer une méthode au resultat d'une fonction


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut Appliquer une méthode au resultat d'une fonction
    Bonjour,
    Je m'explique car le titre du post n'est pas très clair...
    J'ai une classe qui cherche le nombre de fichier qu'il y a dans le chemin écrit dans une zone de texte. Et je cherche à lire ses fichiers avec une autre classe qui lit les fichiers.
    Le soucis est que je n'arrive pas à appliquer la méthode qui lit les fichiers au résultat de l'autre méthode qui retourne une liste de fichiers.

    Voici le code que j'ai mis en place pour le moment et qui verifie que le contenue de la liste n'est pas 0.

    Classe Viewpart dans laquel je veux que mes fichier soit lut au clique du bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int nb = configure.Searchfile.listeRepertoire(f).size();
    		    	  if ( nb != 0){
    		    		  //Faire quelque chose...
    		    	  }else {
    		    		  System.err.println("Il n'y a aucun fichier de se nom ! ");
    		    	  }
    Ma classe Readfile1 lit les fichiers
    Ma classs SearchFile cherche a l'aide de la recursivité les fichier qui porte un certain nom dans le chemin qu'on lui donne et renvoie une liste de fichier
    SearchFile retourne c qui est une List et je veux appliquer mon ReadFile1 a mon SearchFile.

    Merci !

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, le problème est que tu ne stockes pas la liste de fichiers. Ensuite pour parcourir, le for est plus adapté. Tu devrais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List<File> listeFichiers = configure.Searchfile.listeRepertoire(f);
    for(File fichier : _listeFichiers) {
        Readfile1.read(fichier);
    }
    Il y a plusieurs méthodes pour parcourir une liste, j'ai utilisé la boucle for étendue disponible depuis java 5.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Ah oui exacte maintenant que je le voi ecrit cela m'inspire....
    Par contre ma Classe ReadFile convertie mes fichiers XML en String :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static String chemin="";
    	
    	public static String  Readfilefich(File repertoire) throws IOException {
    		FileInputStream  monFichier = new FileInputStream(chemin);
    		String content = IOUtils.toString(monFichier);
    		return content;	 
    	  
    	}
    Et je voudrais etre sur que mes fichier sont convertie on les ouvrant.
    Le soucis c'est que uand je lance mon appli d'une il m'ecrit 3 fois le nom du même fichier qu'il a trouvé dans le chemin et ensuite il me met plein d'erreur
    Une dans mon ReadFile (en rouge) et une dans ma classe ViewPart1 (en rouge egalement)

    Voici mon bouton dans ViewPart1 :
    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
    btn1.addSelectionListener(new SelectionAdapter(){
    
    			@Override
    			public void widgetSelected(SelectionEvent event) {
    		    	  
    		    	  configure.Searchfile.startpoint = txt1.getText();
    		    	  File f = new File(configure.Searchfile.startpoint);
    		    	  configure.Searchfile.listeRepertoire(f);
    		    	  int reponse = 0;
    	    	  
    		    	  configure.Readfile.chemin = txt1.getText();
    		    	  int nb = configure.Searchfile.listeRepertoire(f).size();
    		    	  
    		    	  if ( nb != 0){
    		    		 List<File> files = configure.Searchfile.listeRepertoire(f);
    		    		 for (File fi : files){
    		    			 try {
    							content = configure.Readfile.Readfilefich(fi);
    							
    							//bpm.dom4j.Parse(content);
    						} catch (IOException e) {
    							// TODO Auto-generated catch block
    							e.printStackTrace();
    						}
    		    		 }
    		    	  }else {
    		    		  System.err.println("Il n'y a aucun fichier de se nom ! ");
    		    	  }
    		    	  
    		    	  System.out.println(content);
    		    	  int reponse1 = 0;
    
    		  		Dialogue inputDialog = new Dialogue(Display.getCurrent().getActiveShell());
    		    	  
    
    		    	  if (inputDialog.open() == inputDialog.OK) {
    		    		  //String chemin = configure.Searchfile.startpoint;
    					  
    					
    					System.out.println("Document analysé");
    		    	  } else {
    		    		  //System.out.println("Operation annulée");
    		    	  	}
    			}
    	      
    	    });

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Il faut que tu donnes les messages d'erreur, complets

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    En fait se sont des erreurs dans la console a l'execution.
    Il me met tous sa ... :
    J'ai mis les erreurs qui concerne mes pages en rouge !!!
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    C:\Users\Tiphanie\dossier\resources\preferencesContext.xml
    C:\Users\Tiphanie\resources\preferencesContext.xml
    C:\Users\Tiphanie\dossier\resources\preferencesContext.xml
    C:\Users\Tiphanie\resources\preferencesContext.xml
    C:\Users\Tiphanie\dossier\resources\preferencesContext.xml
    C:\Users\Tiphanie\resources\preferencesContext.xml
    java.io.FileNotFoundException: C:\Users\Tiphanie\Desktop\Vanilla-TomCat\vanilla-tomcat-mysql-1.30-RC5\webapps (Accès refusé)
    	at java.io.FileInputStream.open(Native Method)
    	at java.io.FileInputStream.<init>(Unknown Source)
    	at java.io.FileInputStream.<init>(Unknown Source)
    	at configure.Readfile.Readfilefich(Readfile.java:15)
    	at bpm.configure.views.ViewPart1$1.widgetSelected(ViewPart1.java:99)
    	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
    	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
    	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
    	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
    	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
    	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
    	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
    	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    	at bpm.configure.Application.start(Application.java:20)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
    	at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
    java.io.FileNotFoundException: C:\Users\Tiphanie\Desktop\Vanilla-TomCat\vanilla-tomcat-mysql-1.30-RC5\webapps (Accès refusé)
    	at java.io.FileInputStream.open(Native Method)
    	at java.io.FileInputStream.<init>(Unknown Source)
    	at java.io.FileInputStream.<init>(Unknown Source)
    	at configure.Readfile.Readfilefich(Readfile.java:15)
    	at bpm.configure.views.ViewPart1$1.widgetSelected(ViewPart1.java:99)
    	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
    	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
    	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
    	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
    	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
    	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
    	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
    	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    	at bpm.configure.Application.start(Application.java:20)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
    	at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
    null
    parsing driver file in :/C:/Users/Tiphanie/Desktop/eclipse/eclipse3-3/\resources\driverjdbc.xml
    log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
    log4j:WARN Please initialize the log4j system properly.

  6. #6
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    L'erreur est plutôt explicite, le fichier C:\Users\Tiphanie\Desktop\Vanilla-TomCat\vanilla-tomcat-mysql-1.30-RC5\webapps n'est pas trouvé, apparemment l'accès est refusé.

    Est-ce que ta fonction qui liste les fichiers est correcte? j'ai l'impression qu'elle renvoi un répertoire.

    ps : tu appelles 2 fois listeRepertoire, c'est inutile de tester la longueur de la liste, si il n'y a pas d'éléments on ne rentrera pas dans la boucle fort.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/10/2012, 16h01
  2. Réponses: 0
    Dernier message: 24/05/2011, 11h05
  3. Utiliser une méthode non-static dans une méthode static
    Par mcfly37 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 18/08/2010, 11h41
  4. Réponses: 1
    Dernier message: 29/07/2010, 12h11
  5. mettre en cache le resultat d'une méthode
    Par austin P. dans le forum Spring
    Réponses: 3
    Dernier message: 03/03/2008, 17h06

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