Générer un id par fichier

Pat95 -  
KX Messages postés 19031 Statut Modérateur -
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.

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 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
    1. Pat95
       
      J'aimerais l'avoir pour pouvoir travailler avec après.

      J'ai écouter tes conseils :)
      0
    2. KX Messages postés 19031 Statut Modérateur 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