J'ai une tâche qui consiste à transmettre des valeurs de tableau (écriture) dans un fichier texte (.txt) en Java. C'est ma première fois en utilisant BufferedWriter
et j'ai essayé pas mal de variations sur les instructions if
, mais je ne vois pas comment mon programme écrirait au format matrix[i][j] + ","
jusqu'à ce qu'il atteigne l'index de la dernière colonne et écrit sans la virgule après l'entier.Ecriture d'un tableau multidimensionnel dans un fichier texte
J'ai essayé d'utiliser la méthode append()
que BufferedWriter
étend mais je ne pense pas que je l'ai utilisé correctement.
Code actuel
void writeMatrix(String filename, int[][] matrix) {
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
bw.write(matrix[i][j] + ",");
}
bw.newLine();
}
bw.flush();
} catch (IOException e) {}
}
Courant de sortie
1,2,3,
4,5,6,
7,8,9,
J'ai besoin du dernier chiffre sur chaque ligne pour pas inclure la virgule et BufferedWriter
ne semble pas comme ajouter deux méthodes write()
ensemble sur la même ligne. Alors, comment pourrais-je faire ça?
Le phrasé "passer un tableau dans un fichier txt" est gênant.Passage se réfère à la transmission d'une valeur ou d'une référence, souvent à une structure de données résidant en mémoire, à un autre processus ou une routine, par exemple. passer des arguments. Vous ne "passez" pas une structure de données à un magasin persistant tel qu'un fichier. – scottb