Partage
  • Partager sur Facebook
  • Partager sur Twitter

Actualiser le contenu d'un fichier

Sujet résolu
    23 mai 2018 à 23:16:17

    Bonjour, je rencontre un probleme,

    je lis un fichier.txt appelé "listeEvaluateurTXT" contenant une liste de nom.

    Sur un menu, je peux creer un nouvel evaluateur dans ce fameux fichier .txt

    Lorsque je clique sur la liste, mon nouvel evaluateur n'existe toujours pas.

    Si je ferme l'application et la relance, là, le nouvel evaluateur existe.

    Comment faire un "refresh" de la liste 'evaluateurs losrque celle ci est modifiée?

    Meri par avance

    Code lecture fichier :

    // Menu Evaluateurs
    		JMenuBar menuConfigEvaluateur = new JMenuBar();
    		JMenu configEvaluateur = new JMenu("Evaluateurs");
    		JMenu configEvaluateurPresence = new JMenu("Présents");
    		JMenuItem configEvaluateurNouveau = new JMenuItem("Nouveau");
    		JMenuItem configEvaluateurSuppression = new JMenuItem("Supprimer");
    		configEvaluateur.add(configEvaluateurPresence);
    		configEvaluateur.add(configEvaluateurNouveau);
    		configEvaluateur.add(configEvaluateurSuppression);
    		menuConfigEvaluateur.add(configEvaluateur);
    
    		// Affichage des Evaluateurs deja inscrits
    		FileReader listeEvaluateurTXT = new FileReader("listeEvaluateurs.txt");
    		BufferedReader lectureFichierEvaluateur = new BufferedReader(listeEvaluateurTXT);
    		lectureFichierEvaluateur.mark(0);
    		lectureFichierEvaluateur.reset();
    		
    		String line;
    		int numeroEvaluateurFichier = 1;
    		while ((line = lectureFichierEvaluateur.readLine()) != null) {
    			String line2 = line;
    			JCheckBoxMenuItem checkBoxEvaluateursPresents = new JCheckBoxMenuItem(line);
    			configEvaluateurPresence.add(checkBoxEvaluateursPresents);
    			// Ajoute une fonction qui verifie letat Checked ou non
    			checkBoxEvaluateursPresents.addItemListener(new ItemListener() {
    				@Override
    				public void itemStateChanged(ItemEvent e) {
    					if (e.getStateChange() == ItemEvent.SELECTED) {// checkbox has been selected
    						if (checkBoxEvaluateursPresents.isSelected()) {
    							String nomEvaluateur = checkBoxEvaluateursPresents.getText();
    							System.out.println(nomEvaluateur);
    						}
    					} else {// checkbox has been deselected
    						// do something...
    					}
    					;
    				}
    			});
    			numeroEvaluateurFichier++;
    		}
    		lectureFichierEvaluateur.close();

    Code ecriture dans le fichier :

    // Ajout de nouveaux Evaluateurs
    		String newLine = System.getProperty("line.separator");
    		configEvaluateurNouveau.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    
    				String nouveauNomEvaluateur = (String) JOptionPane.showInputDialog(null, "Entrez le NOM",
    						"Nouvel Evaluateur", JOptionPane.QUESTION_MESSAGE);
    				if (nouveauNomEvaluateur != null) {
    					String nouveauPrenomEvaluateur = (String) JOptionPane.showInputDialog(null, "Entrez le Prénom",
    							"Nouvel Evaluateur", JOptionPane.QUESTION_MESSAGE);
    					if (nouveauPrenomEvaluateur != null) {
    						int choixEvaluateur = JOptionPane.showOptionDialog(null,
    								"En validant, le nouvel Evaluateur sera enregistré dans la base de donnée." + newLine
    										+ " Souhaitez vous enregistrer :" + newLine + nouveauNomEvaluateur + " "
    										+ nouveauPrenomEvaluateur + " ?",
    								"Nouvel Evaluateur", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
    								null, null);
    						if (choixEvaluateur == JOptionPane.YES_OPTION) {
    							nouveauNomEvaluateur = nouveauNomEvaluateur.toUpperCase();
    							nouveauPrenomEvaluateur = nouveauPrenomEvaluateur.toLowerCase();
    
    							Path fichierEvaluateur = Paths.get("listeEvaluateurs.txt");
    							String nomPrenomEvaluateur = nouveauNomEvaluateur + " " + nouveauPrenomEvaluateur + "\n";
    							try {
    								Files.write(fichierEvaluateur, nomPrenomEvaluateur.getBytes(),
    										StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.APPEND);
    									
    							} catch (IOException e) {
    								// TODO Auto-generated catch block
    								e.printStackTrace();
    							}
    
    						}
    
    					}
    
    				}
    			
    				}
    		});



    Merci par avance, Renan

    • Partager sur Facebook
    • Partager sur Twitter

    Actualiser le contenu d'un fichier

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown