Exporter une matrice d'entier vers un csv
Résolu/Fermé
lynajar
Messages postés
32
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
9 février 2021
-
Modifié le 8 févr. 2021 à 23:10
lynajar Messages postés 32 Date d'inscription dimanche 15 décembre 2019 Statut Membre Dernière intervention 9 février 2021 - 9 févr. 2021 à 14:14
lynajar Messages postés 32 Date d'inscription dimanche 15 décembre 2019 Statut Membre Dernière intervention 9 février 2021 - 9 févr. 2021 à 14:14
A voir également:
- Exporter une matrice d'entier vers un csv
- Comment exporter les photos de google photo vers l'ordinateur - Guide
- Chrome exporter favoris - Guide
- Exporter favoris firefox - Guide
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Exporter conversation sms android - Guide
2 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
9 févr. 2021 à 10:32
9 févr. 2021 à 10:32
Bonjour,
Lorsque tu ajoutes un entier dans un fichier, c'est la valeur de l'octet qui est ajouté, pas sa représentation en caractères.
Par exemple : si tu ajoutes l'entier 42 ça ajoutera le caractère '*' alors que toi tu veux ajouter le caractère '4' puis le caractère '2' (dont les valeurs sont respectivement 54 et 52).
Remarque :
Dans ta ligne 6, tu fais
De plus, tu devrais avoir un saut de ligne quelque part, sinon tout va s'écrire à la suite.
Exemple :
Remarque : les Stream permettent de traiter efficacement ce genre de problèmes, même si je comprends bien que ça peut être compliqué pour un débutant. Exemple :
Lorsque tu ajoutes un entier dans un fichier, c'est la valeur de l'octet qui est ajouté, pas sa représentation en caractères.
Par exemple : si tu ajoutes l'entier 42 ça ajoutera le caractère '*' alors que toi tu veux ajouter le caractère '4' puis le caractère '2' (dont les valeurs sont respectivement 54 et 52).
Remarque :
Dans ta ligne 6, tu fais
i<nbsalors que ça devrait être
j<nbs(tu as inversé i et j)
De plus, tu devrais avoir un saut de ligne quelque part, sinon tout va s'écrire à la suite.
Exemple :
public static void exportToCsv(int[][] matrix, String fileName) throws IOException { try (PrintWriter pw = new PrintWriter(fileName)) { for (int row = 0; row < matrix.length; row++) { if (row > 0) { pw.println(); } for (int column = 0; column < matrix[row].length; column++) { if (column > 0) { pw.print(';'); } pw.print(String.valueOf(matrix[row][column])); } } } }
Remarque : les Stream permettent de traiter efficacement ce genre de problèmes, même si je comprends bien que ça peut être compliqué pour un débutant. Exemple :
public static void exportToCsv(int[][] matrix, String fileName) throws IOException { Files.write(Paths.get(fileName), Arrays.stream(matrix).map(row -> Arrays.stream(row) .mapToObj(String::valueOf) .collect(Collectors.joining(";")) ).collect(Collectors.toList())); }
lynajar
Messages postés
32
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
9 février 2021
9 févr. 2021 à 14:14
9 févr. 2021 à 14:14
Bonjour;
merci KX pour ton aide,
le programme s’exécute très bien .
merci KX pour ton aide,
le programme s’exécute très bien .