JAVA | Split de chaine

Résolu/Fermé
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 - 3 mai 2012 à 00:48
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 - 3 mai 2012 à 00:53
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
A voir également:

1 réponse

Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 3
3 mai 2012 à 00:53
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
0