cs_parkour
Messages postés1Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention19 octobre 2008 19 oct. 2008 à 13:11
merci pour le code
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 17:42
oki je regarde
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 17:41
merci bien,
tu n'as besoin de mettre que les fonctions pas les classes et tout ca ;)
Verifie que se soit pas en doublon, surtout pour le listeDeFichiers qui existe deja il me semble
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 17:39
oki
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 17:37
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 17:37
c'est quoi codyx?
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 17:35
mets ces fonctions sur codyx et je desactiverais la source ...
En source on ne prends en general que des programme complet ...
Merci
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 17:32
voila qui est fais mais dans un autre "topic"
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 15:05
oui je vois justement je voulais faire ça avec une fonction qui se rappel si l'élément actuel et un dossier. j'ai l'idée mais pas le moyen de la faire car le problème est de faire une liste qui ... attend je viens d'avoir une idée je reste en suspend je vais essayer un truc
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 15:00
Non il y en a deja plusieurs et puis ca serais qqchose de different.
Je sais pas trop mais genre ce qui pourrais etre interressant c'est de pouvoir lister tout les fichiers d'un repertoire et ses sous repertoire avec un calcul du hash md5 ou ce genre de chose ...
Tu vois ce que je veux dire ?
cs_petifa
Messages postés215Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention10 mars 2014 1 oct. 2008 à 14:59
a voir si tu penses que ca rentre dans le cadre de ta classe, sinon faire une autre classe concernant la modification de fichiers...
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 14:57
compression de fichier par exemple?
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 14:56
Apres si tu as d'autre fonction qui te servent pour la recherche de fichier tu peux les mettres de quoi faire une miniapi
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 14:51
oki
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 14:49
ajoute dans ta source la ca deviens interressant
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 14:46
c'est completement absurde!
j'ai deja le code pour faire une recherche
qui est archi simple en plus :
static File[] listeDeFichiers(String repertoire) {
File directoryToScan = new File(repertoire);
File[] fichiers = null;
System.out.println("Repertoire "" + repertoire + "" chargé.");
//Liste tous les fichiers contenue dans le dossier spécifier :
fichiers = directoryToScan.listFiles();
return fichiers;
}
c'est ce code qui viens avant la fonction ci tous dessus
cs_petifa
Messages postés215Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention10 mars 2014 1 oct. 2008 à 14:42
dans ce cas fichierAChercher = "" ou null, et tu gères le cas en début de fonction
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 14:37
"
Je ne suis pas d'accord avec toi, si tu as des fonctions qui se rapportent à la recherche de fichiers, que ce soit sur le nom ou autre ou que ce soit dans un dossier, le but est le même donc la classe doit contenir toutes les fonctions."
oui mais si tu veux juste répertorier des fichiers sans en faire un filtrage....
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 14:30
dans ce cas mets les autres fonctions ... car la sois objectif, ton code tel quel ne sert pas a grand chose
donc sois tu mets un programme complet sois tu le mets sur codyx
Sinon j'ai parle du C quand tu as dit qu'une ou deux fonction par classe etait suffisant je pensais que tu occultais l'objet
cs_petifa
Messages postés215Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention10 mars 2014 1 oct. 2008 à 14:28
quand il dit pas utile c'est ta classe, autant mettre directement ta fonction, au lieu de mettre une classe contenant une méthode
# si je crée un nouveau programme avec juste une des fonction que j'ai déjà développer, j'ai juste a intégré ma classe (un fichier quoi!) dans mon programme.
Je ne suis pas d'accord avec toi, si tu as des fonctions qui se rapportent à la recherche de fichiers, que ce soit sur le nom ou autre ou que ce soit dans un dossier, le but est le même donc la classe doit contenir toutes les fonctions.
cs_petifa
Messages postés215Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention10 mars 2014 1 oct. 2008 à 14:23
oui c'est vrai sheorogath a raison, les classes doivent contenir un panel de fonctions permettant de faire des traitement.
Tu aurais pu faire une fonction qui recherche dans un répertoire mais qui appel ta fonction, pour reprendre l'exemple de sheorogath,
# File[] searchFile(File root, String pattern)
# {
# if (root == null) return null;
# File[] files = root.listFiles();
# if (files != null && files.length > 0)
# files = listerRepertoire(files , pattern);
# else return null;
# }
Faire de même pour d'autres fonctions; pourquoi pas une fonction pour rechercher par rapport à la date de création. y aurait ainsi plusieurs fonctions dans ta classe.
Par contre une remarque oublie pas de vérifier que les paramètres soient bien valides, non null par exemple.
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 14:15
je n'ai pas dit que que tu fais tout avec l'exemple que tu a mis,
j'ai juste dit que je répartissais mes fonction ce qui explique pourquoi il n'y a pas de fonction dont tu a donnée l'exemple. je m'explique
Ma fonction effectue une recherche jusque la pas de problème
mais avant j'ai une autre fonction, dans une autre classe, qui effectue le listage d'un dossier spécifier en paramètre par un string. Ensuite je traite la cherche
puis je exploite dans une nouvelle classe.
tu va me dire pourquoi autant de classe?
si je crée un nouveau programme avec juste une des fonction que j'ai déjà développer, j'ai juste a intégré ma classe (un fichier quoi!) dans mon programme.
Voila
en ce qui concerne ta première remarque soit :
" ouais mais la c'est pousse a l'extrême ... autant faire du C"
- soit tu est hors sujet (je ne pense pas quand même)
- soit on ne c'est pas très bien compris.
donc je vais ressayer :
pour les méthodes je suis d'accord avec toi tu peux en avoir autant que tu veux dans une classe au lieu d'un seule de 6000 lignes
mais si moi, je parle pour moi, je répartis mes fonctions, ou méthodes c'est du pareil au même, c'est dans le but d'avoir une structure plus claire. ou si tu préfère, je sépare les fonctions qui ne touche pas au même objectif
exemple :
deux fonctions "lire" et "écrire" qui permettent de lire et écrire dans un fichier seront dans la même classe
alors que deux fonction "lireDansUnFichier" et "rechercherUnFichier" qui l'une lie dans un fichier, et l'autre recherche un fichier (je sais je suis redondant) je ne les mettrai pas dans la même classe.
Tu comprend ce que je veux dire? (je ne dit pas que tu es bête je te rassure, je veux juste m'assurer que je suis clair).
Sinon je suis d'accord avec toi mon code est incomplet mais de la a dire qu'il est, je cite, "pas super utile" ... merci bien ...
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 13:51
ouais mais la c'est pousse a l'extreme ... autant faire du C
L'objectif de l'OO c'est quand meme de regrouper des fonctionnalitee inherente a une certaine structure de donnee ...
Tu peux, pour moi, avoir autant de methodes que tu veux dans une classe au lieu d'un seule de 6000 lignes
sinon quand tu dis que je fais tout avec l'exemple que j'ai mis plus haut je suis pas d'accord je fais rien de plus si ce n'est chercher dans les sous-repertoires
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 13:08
tous simplement parce que je préféré faire 10 classes qui font chacune une fonction que une classe qui fais 10 fonction
au final c'est pareil
mais pour la compréhension et la lecture voir la correction/modification c'est bien plus utile d'avoir 1 fonction par classe. Ou 2 a la limite
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 13:02
ben a la limite tu ferais une recherche d'un motif sur les noms de fichier d'une arborescence je dirais pourquoi pas ...
mais la tu ne recherche que dans un tableau de fichiers passe en param ... je trouve pas ca super utile
genre un searchFile(File root, String pattern)
{
File []files = root.listFiles();
for (File f : files)
{
if (f.isDirectory())
searchFile(f, pattern);
else if (f.getName().match(pattern))
//....
}
}
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 12:57
j'ai pas compris la première partie de ta remarque!!
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 1 oct. 2008 à 12:51
ouais puis meme pas recursif ... enfin en soit pas super utile quoi
kryshnar
Messages postés44Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention26 février 2009 1 oct. 2008 à 12:49
Bonjour,
Tu a raison pour la booléen trouve
En ce qui concerne le File[] j'ai fais comme ça car derrière cette classe j'ai effectuer une autre classe qui a pour but de lister tous les fichiers qui ce trouve dans un répertoire donc voila
cs_petifa
Messages postés215Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention10 mars 2014 1 oct. 2008 à 11:52
Slt,
Ta source est pas mal mais quelques remarques :
- pourquoi déclarer un File[] pour la liste des fichiers temporaires
# File[] listeDesFichiersTempo = new File[fichiers.length];
# listeDesFichiersTempo[nbreTrouve] = fichiers[i];
tu aurais pu mettre un tableau de int contenant les positions des fichiers trouvés dans le tableau
int [] posFichiersTrouves = new int[fichiers.length]
posFichiersTrouves [nbreTrouve] = i;
et après dans ta boucle
# listeDesFichiers[i] = listeDesFichiersTempo[i];
19 oct. 2008 à 13:11
1 oct. 2008 à 17:42
1 oct. 2008 à 17:41
tu n'as besoin de mettre que les fonctions pas les classes et tout ca ;)
Verifie que se soit pas en doublon, surtout pour le listeDeFichiers qui existe deja il me semble
1 oct. 2008 à 17:39
1 oct. 2008 à 17:37
1 oct. 2008 à 17:37
1 oct. 2008 à 17:35
En source on ne prends en general que des programme complet ...
Merci
1 oct. 2008 à 17:32
1 oct. 2008 à 15:05
1 oct. 2008 à 15:00
Je sais pas trop mais genre ce qui pourrais etre interressant c'est de pouvoir lister tout les fichiers d'un repertoire et ses sous repertoire avec un calcul du hash md5 ou ce genre de chose ...
Tu vois ce que je veux dire ?
1 oct. 2008 à 14:59
1 oct. 2008 à 14:57
1 oct. 2008 à 14:56
1 oct. 2008 à 14:51
1 oct. 2008 à 14:49
1 oct. 2008 à 14:46
j'ai deja le code pour faire une recherche
qui est archi simple en plus :
static File[] listeDeFichiers(String repertoire) {
File directoryToScan = new File(repertoire);
File[] fichiers = null;
System.out.println("Repertoire "" + repertoire + "" chargé.");
//Liste tous les fichiers contenue dans le dossier spécifier :
fichiers = directoryToScan.listFiles();
return fichiers;
}
c'est ce code qui viens avant la fonction ci tous dessus
1 oct. 2008 à 14:42
# static File[] listerRepertoire(File[] fichiers, String fichierAChercher)
# {# if (fichierAChercher null || fichierAChercher "") return fichiers;
# File[] listeDesFichiersTempo = new File[fichiers.length];
# ...
1 oct. 2008 à 14:37
Je ne suis pas d'accord avec toi, si tu as des fonctions qui se rapportent à la recherche de fichiers, que ce soit sur le nom ou autre ou que ce soit dans un dossier, le but est le même donc la classe doit contenir toutes les fonctions."
oui mais si tu veux juste répertorier des fichiers sans en faire un filtrage....
1 oct. 2008 à 14:30
donc sois tu mets un programme complet sois tu le mets sur codyx
Sinon j'ai parle du C quand tu as dit qu'une ou deux fonction par classe etait suffisant je pensais que tu occultais l'objet
1 oct. 2008 à 14:28
# si je crée un nouveau programme avec juste une des fonction que j'ai déjà développer, j'ai juste a intégré ma classe (un fichier quoi!) dans mon programme.
Je ne suis pas d'accord avec toi, si tu as des fonctions qui se rapportent à la recherche de fichiers, que ce soit sur le nom ou autre ou que ce soit dans un dossier, le but est le même donc la classe doit contenir toutes les fonctions.
1 oct. 2008 à 14:23
Tu aurais pu faire une fonction qui recherche dans un répertoire mais qui appel ta fonction, pour reprendre l'exemple de sheorogath,
# File[] searchFile(File root, String pattern)
# {
# if (root == null) return null;
# File[] files = root.listFiles();
# if (files != null && files.length > 0)
# files = listerRepertoire(files , pattern);
# else return null;
# }
Faire de même pour d'autres fonctions; pourquoi pas une fonction pour rechercher par rapport à la date de création. y aurait ainsi plusieurs fonctions dans ta classe.
Par contre une remarque oublie pas de vérifier que les paramètres soient bien valides, non null par exemple.
1 oct. 2008 à 14:15
j'ai juste dit que je répartissais mes fonction ce qui explique pourquoi il n'y a pas de fonction dont tu a donnée l'exemple. je m'explique
Ma fonction effectue une recherche jusque la pas de problème
mais avant j'ai une autre fonction, dans une autre classe, qui effectue le listage d'un dossier spécifier en paramètre par un string. Ensuite je traite la cherche
puis je exploite dans une nouvelle classe.
tu va me dire pourquoi autant de classe?
si je crée un nouveau programme avec juste une des fonction que j'ai déjà développer, j'ai juste a intégré ma classe (un fichier quoi!) dans mon programme.
Voila
en ce qui concerne ta première remarque soit :
" ouais mais la c'est pousse a l'extrême ... autant faire du C"
- soit tu est hors sujet (je ne pense pas quand même)
- soit on ne c'est pas très bien compris.
donc je vais ressayer :
pour les méthodes je suis d'accord avec toi tu peux en avoir autant que tu veux dans une classe au lieu d'un seule de 6000 lignes
mais si moi, je parle pour moi, je répartis mes fonctions, ou méthodes c'est du pareil au même, c'est dans le but d'avoir une structure plus claire. ou si tu préfère, je sépare les fonctions qui ne touche pas au même objectif
exemple :
deux fonctions "lire" et "écrire" qui permettent de lire et écrire dans un fichier seront dans la même classe
alors que deux fonction "lireDansUnFichier" et "rechercherUnFichier" qui l'une lie dans un fichier, et l'autre recherche un fichier (je sais je suis redondant) je ne les mettrai pas dans la même classe.
Tu comprend ce que je veux dire? (je ne dit pas que tu es bête je te rassure, je veux juste m'assurer que je suis clair).
Sinon je suis d'accord avec toi mon code est incomplet mais de la a dire qu'il est, je cite, "pas super utile" ... merci bien ...
1 oct. 2008 à 13:51
L'objectif de l'OO c'est quand meme de regrouper des fonctionnalitee inherente a une certaine structure de donnee ...
Tu peux, pour moi, avoir autant de methodes que tu veux dans une classe au lieu d'un seule de 6000 lignes
sinon quand tu dis que je fais tout avec l'exemple que j'ai mis plus haut je suis pas d'accord je fais rien de plus si ce n'est chercher dans les sous-repertoires
1 oct. 2008 à 13:08
au final c'est pareil
mais pour la compréhension et la lecture voir la correction/modification c'est bien plus utile d'avoir 1 fonction par classe. Ou 2 a la limite
1 oct. 2008 à 13:02
mais la tu ne recherche que dans un tableau de fichiers passe en param ... je trouve pas ca super utile
genre un searchFile(File root, String pattern)
{
File []files = root.listFiles();
for (File f : files)
{
if (f.isDirectory())
searchFile(f, pattern);
else if (f.getName().match(pattern))
//....
}
}
1 oct. 2008 à 12:57
1 oct. 2008 à 12:51
1 oct. 2008 à 12:49
Tu a raison pour la booléen trouve
En ce qui concerne le File[] j'ai fais comme ça car derrière cette classe j'ai effectuer une autre classe qui a pour but de lister tous les fichiers qui ce trouve dans un répertoire donc voila
1 oct. 2008 à 11:52
Ta source est pas mal mais quelques remarques :
- pourquoi déclarer un File[] pour la liste des fichiers temporaires
# File[] listeDesFichiersTempo = new File[fichiers.length];
# listeDesFichiersTempo[nbreTrouve] = fichiers[i];
tu aurais pu mettre un tableau de int contenant les positions des fichiers trouvés dans le tableau
int [] posFichiersTrouves = new int[fichiers.length]
posFichiersTrouves [nbreTrouve] = i;
et après dans ta boucle
# listeDesFichiers[i] = listeDesFichiersTempo[i];
listeDesFichiers[i] = fichiers[posFichiersTrouves[i]];
comme ca si tu as en entrée un tableau de 2000 fichiers tu ne recréé pas un tableau temporaire de 2000 File mais de 2000 int,
- A quoi te sert la variable trouve???
# boolean trouve = false;
a la fin de ta fonction au lieu de mettre
# if (trouve) {
tu aurais du mettre
if (nbreTrouve != 0)