Obtenir l'extension d'un fichier en java
Fermé
yuri648
Messages postés
677
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
20 mai 2015
-
6 janv. 2009 à 19:00
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 1 juil. 2013 à 10:57
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 1 juil. 2013 à 10:57
Bonjour,
comment obtenir l'extenssion d'un fichier en java ou bien kel methode qui peut faire sa?
et merci d'avence
comment obtenir l'extenssion d'un fichier en java ou bien kel methode qui peut faire sa?
et merci d'avence
A voir également:
- Extension fichier java
- Waptrick java football - Télécharger - Jeux vidéo
- Changer extension fichier - Guide
- Jeux java itel football - Télécharger - Jeux vidéo
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
6 janv. 2009 à 19:42
6 janv. 2009 à 19:42
Hello Yuri,
Il n'y a pas de méthode pour faire cela (en général ça ne sert à rien une extension).
Si tu veux récupérer toi même l'extension, il te faut utiliser la méthode split(".") de la classe String. Tu récupère la dernière entrée du tableau retourné et le tour est joué !
Cordialement,
Il n'y a pas de méthode pour faire cela (en général ça ne sert à rien une extension).
Si tu veux récupérer toi même l'extension, il te faut utiliser la méthode split(".") de la classe String. Tu récupère la dernière entrée du tableau retourné et le tour est joué !
Cordialement,
landry36
Messages postés
5
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
1 juillet 2013
1
1 juil. 2013 à 09:35
1 juil. 2013 à 09:35
"chemin" peut être juste le nom du fichier :
String chemin = "mon/chemin/de/fichier/Fichier.toto.txt";
String ext = chemin.substring(chemin.lastIndexOf(".")); //récupère l'extention
System.out.println(ext); //-> .txt
String chemin = "mon/chemin/de/fichier/Fichier.toto.txt";
String ext = chemin.substring(chemin.lastIndexOf(".")); //récupère l'extention
System.out.println(ext); //-> .txt
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
1 juil. 2013 à 10:57
1 juil. 2013 à 10:57
Attention : il faut prévoir le cas où il n'y a pas d'extension (celle-ci n'est pas obligatoire).
En particulier se méfier de chemins d'accès contenant un point dans le nom du dossier ou des fichiers cachés sous Linux dont le nom commencent par un point (mais qui n'est pas l'extension !)
Voici quelques exemples de chemin d'accès et de résultat attendu
En particulier se méfier de chemins d'accès contenant un point dans le nom du dossier ou des fichiers cachés sous Linux dont le nom commencent par un point (mais qui n'est pas l'extension !)
Voici quelques exemples de chemin d'accès et de résultat attendu
"C:\test\test.txt" ou "/test/test.txt" --> "txt" "C:\test\test" ou "/test/test" --> "" "C:\test.test\test" ou "/test.test/test" --> "" "C:\test\.test" ou "/test/.test" --> ""
yuri648
Messages postés
677
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
20 mai 2015
7
7 janv. 2009 à 10:40
7 janv. 2009 à 10:40
j'ai un autre pb si tu peux m'aider STP j'ai cet erreur:
Exception in thread "main" java.lang.NullPointerException
at pdf.<init>(pdf.java:30)
at nn.main(nn.java:11)
voila la classe pdf:
import java.io.File;
import java.util.Stack;
public class pdf {
public pdf()
{
Stack<String> pile=new Stack();
String dd="d:/";
String v;
int i;
boolean bol=false;
String h="pdf";
File[] lis=null;
i=0;
while(bol==false)
{
// dd=(String) pile.pop();
File g=new File(dd);
lis=g.listFiles();
i=0;
while(i<lis.length )
{
if(lis[i].isDirectory()==true){pile.push(lis[i].getPath()); }
else {
v=getExtension(lis[i]);
if(h.equals(v)){System.out.println("le fichier"+ lis[i]);}
}
i=i+1;
}
if(!pile.isEmpty()) {dd=(String) pile.pop(); }
else{bol=true;}
}
}
public static String getExtension(File f) {
if(f != null) {
String filename = f.getName();
int i = filename.lastIndexOf('.');
if(i>0 && i<filename.length()-1) {
return filename.substring(i+1).toLowerCase();
}
}
return null;
}
}
et la classe main:
import java.io.IOException;
public class nn {
public static void main (String arguments[]) throws IOException
{
pdf mm=new pdf();
}
}
et merci d'avence.
Exception in thread "main" java.lang.NullPointerException
at pdf.<init>(pdf.java:30)
at nn.main(nn.java:11)
voila la classe pdf:
import java.io.File;
import java.util.Stack;
public class pdf {
public pdf()
{
Stack<String> pile=new Stack();
String dd="d:/";
String v;
int i;
boolean bol=false;
String h="pdf";
File[] lis=null;
i=0;
while(bol==false)
{
// dd=(String) pile.pop();
File g=new File(dd);
lis=g.listFiles();
i=0;
while(i<lis.length )
{
if(lis[i].isDirectory()==true){pile.push(lis[i].getPath()); }
else {
v=getExtension(lis[i]);
if(h.equals(v)){System.out.println("le fichier"+ lis[i]);}
}
i=i+1;
}
if(!pile.isEmpty()) {dd=(String) pile.pop(); }
else{bol=true;}
}
}
public static String getExtension(File f) {
if(f != null) {
String filename = f.getName();
int i = filename.lastIndexOf('.');
if(i>0 && i<filename.length()-1) {
return filename.substring(i+1).toLowerCase();
}
}
return null;
}
}
et la classe main:
import java.io.IOException;
public class nn {
public static void main (String arguments[]) throws IOException
{
pdf mm=new pdf();
}
}
et merci d'avence.
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
7 janv. 2009 à 11:15
7 janv. 2009 à 11:15
Bonjour Yuri648,
Déjà, ça fait plaisir de voir qu'après t'avoir expliqué qu'il fallait utiliser soit une ArrayDeque, soit une LinkedList pour implémenter les piles, tu utilises une Stack. Enfin bref, fais comme tu veux...
Tu peux me dire à quelle ligne cette exception est levée stp (me la mettre en gras), et reposter ton message avec de l'indentation et en utilisant la balise CODE stp ?
Merci,
Déjà, ça fait plaisir de voir qu'après t'avoir expliqué qu'il fallait utiliser soit une ArrayDeque, soit une LinkedList pour implémenter les piles, tu utilises une Stack. Enfin bref, fais comme tu veux...
Tu peux me dire à quelle ligne cette exception est levée stp (me la mettre en gras), et reposter ton message avec de l'indentation et en utilisant la balise CODE stp ?
Merci,
yuri648
Messages postés
677
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
20 mai 2015
7
7 janv. 2009 à 11:19
7 janv. 2009 à 11:19
merci de m'avoir repondu l'erreur vien de cette instruction
while(i<lis.length)
et si je change la variable dd="c:/exe" ya pa de pb mé si dd="c:/" ya cet erreur
while(i<lis.length)
et si je change la variable dd="c:/exe" ya pa de pb mé si dd="c:/" ya cet erreur
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
7 janv. 2009 à 11:37
7 janv. 2009 à 11:37
Tu développes avec Eclipse?
Ton répertoire d:/ existe bien?
Vérifie la valeur de lis après lis = g.listFiles();
Cordialement,
Ton répertoire d:/ existe bien?
Vérifie la valeur de lis après lis = g.listFiles();
Cordialement,
yuri648
Messages postés
677
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
20 mai 2015
7
7 janv. 2009 à 11:39
7 janv. 2009 à 11:39
oui je develope avec eclipse le repertoire existe et j'ai verifié lis a des fichier
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
7 janv. 2009 à 11:51
7 janv. 2009 à 11:51
Tu as un outil merveilleux dans Eclipse : le débogueur (il est tout simplement génial).
Pour déceler d'où vient ton problème, tu mets un breakpoint sur cette ligne : while(i<lis.length) .
Ensuite, tu lances l'exécution en mode debug (le petit scarabée ou F11), et ton programme va s'arrêter à chaque passage à cette ligne (donc à chaque tour de boucle), et t'indiquer l'état des variables à ce moment là.
Tu vas donc pouvoir trouver à quel moment exactement ton programme plante (en regardant la valeur de i...).
Comprends bien que j'ai assez de difficultés pour t'aider car je n'ai pas le même système de fichiers que toi (et que de mon côté, avec c:/, le programme tourne sans problème).
Cordialement,
Pour déceler d'où vient ton problème, tu mets un breakpoint sur cette ligne : while(i<lis.length) .
Ensuite, tu lances l'exécution en mode debug (le petit scarabée ou F11), et ton programme va s'arrêter à chaque passage à cette ligne (donc à chaque tour de boucle), et t'indiquer l'état des variables à ce moment là.
Tu vas donc pouvoir trouver à quel moment exactement ton programme plante (en regardant la valeur de i...).
Comprends bien que j'ai assez de difficultés pour t'aider car je n'ai pas le même système de fichiers que toi (et que de mon côté, avec c:/, le programme tourne sans problème).
Cordialement,
7 janv. 2009 à 10:38