Générer un id par fichier

Pat95 -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à vous,

J'aimerais pour chaque fichier lui associer un id fixe. Par exemple, pour le premier fichier le chiffre 1, le deuxième le chiffre 2 ... (J'ai mis un random pour l'instant mais je voudrais une valeur fixe).

File rep = new File("C://Users");

for(File file : rep.listFiles()){
FileInputStream is = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuffer stringBuffer = new StringBuffer();
String line = null;
int random = (int)(Math.random() * (20));
while ((line = reader.readLine()) != null) {
stringBuffer.append(line).append("\n");
}
reader.close();


Merci à vous.
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Plusieurs points :

1) À quoi va te servir cet entier que tu veux manipuler ? Actuellement il ne sert à rien. De plus si c'est juste avoir 1, 2, 3... il suffit de les prendre les uns après les autres, donc où est le problème ?

2) Un File peut représenter aussi bien un fichier qu'un dossier, il faut regarder que c'est bien un fichier avant de le lire.

for (File file : rep.listFiles()) {
    if (!file.isFile())
        continue;

3) Ta lecture de fichier est très compliqué, tu devrais regarder la classe Scanner ou les méthode Files.readAllLines/readAllBytes

String buffer = new String(Files.readAllBytes(file.toPath()));
0
Pat95
 
J'aimerais l'avoir pour pouvoir travailler avec après.

J'ai écouter tes conseils :)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Et bien, je ne suis toujours pas sûr d'avoir compris ce que tu cherches à faire avec cet entier mais simplement tu as :

int n = 0;
for (File file : rep.listFiles()) {
    if (!file.isFile())
        continue;
    int id = ++n; // 1, 2, 3...
0