JAVA | Split de chaine

[Résolu/Fermé]
Signaler
Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
-
Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
-
Bonjour,


    	if (e.getSource() == open) {
    		
			JOptionPane.showMessageDialog(null, "Selectionnez une musique dans un repertoire pour selectionnez toutes les musiques de ce repertoire", "Information", JOptionPane.INFORMATION_MESSAGE);
			
			
    		fc = new JFileChooser();
    		fc.setAcceptAllFileFilterUsed(false);
    		fc.showOpenDialog(this);
    		if (fc.getDialogType() == JFileChooser.APPROVE_OPTION) {
    			dossier = fc.getCurrentDirectory();
    			if(dossier.isDirectory()){
    				fichiers = dossier.listFiles();

        			nombreFile = fichiers.length;
        			temp = nombreFile;
        			for(int i=0;i < temp;i++){

        					monExt = fichiers[i].getName().split(".");
        					JOptionPane.showMessageDialog(null, "nom : " + monExt[0].toString(), "lol", JOptionPane.INFORMATION_MESSAGE);
        					try{
        						JOptionPane.showMessageDialog(null, "extension : " + String.valueOf(monExt[1]), "lol", JOptionPane.INFORMATION_MESSAGE);
        					if(monExt[1].equals("mp3")||monExt[1].equals("wma")||monExt[1].equals("midi")||monExt[1].equals("mid")){
        					//des choses
        					}
        					}
        					catch(Exception evt){
        						nombreFile--;
        					}
        				}
        				JOptionPane.showMessageDialog(null, "nb file " + nombreFile , "lol", JOptionPane.INFORMATION_MESSAGE);

        				
        				
    			}
    			
    			//name.setText(fichier.getName().substring(0, (int) fichier.getName().length() - 4));
    		}
    	}



J'ai un soucis sur mon tableau de chaîne :/

Comme il est coder, je prend des fichiers dans un répertoire je teste leurs extensions pour savoir si je vais les mettre dans une Jlist. Donc je passe sur un .split(".")

donc j'ai bien par exemple un fichier nommé : mamusique.mp3.

sans le split j'obtiens bien mamusique.mp3, donc normalement en le Splittant avec le "." , je devrais avoir mamusique et mp3 dans mon tableau ?

Et sinon quand est-il lorsque j'ai aussi un dossier dedans ? car justement je verifie si il y à une extension de type mp3, midi, etc... mais dans le cas ou j'ai un dossier nommé : mondossier, et que je split j'ai bien le tableau qui est quand même de première "case" :
mondossier et les autres à null ?

Bref ceci me trouble car j'ai déjà manipuler les split mais c'est la première fois que ça me fait cette erreur.

Et bien lorsque que je teste la valeur j'ai une erreur de type :

java.lang.ArrayIndexOutOfBoundsException: 0



Merci d'avance,

Xineroks

1 réponse

Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
4
Comme souvent... Autoréponse...

Je suis vraiment étourdi à ces heures...

Le soucis est que split(".") ne fonctionne pas ^^'

car dans les parenthèses c'est une regex, donc le . ne fonctionne pas il faut adapter avec [.]

Bonne soirée