2017-09-27 1 views
2

J'ai un programme qui a un tableau 2d et j'ai besoin d'écrire dans un fichier csv mais j'ai seulement besoin d'écrire un seul index du tableau. J'utilise le .get (0) .set (4, newAmount) pour définir une valeur dans le premier index mais j'ai besoin d'écrire toutes les valeurs de l'index dans un fichier si cela a du sens.Ecriture d'un tableau 2d dans un fichier csv

  fw = new FileWriter(FILE_NAME, true); 
     bw = new BufferedWriter(fw); 

     System.out.println("Enter the name of the person you want to change amount for"); 
     String changeName = FileUtility.getInput().nextLine(); 
     String newAmount; 



     Scanner s = new Scanner(new File(FILE_NAME)); 
     String str = ""; 
     List<List<String>> list = new ArrayList<List<String>>(); 

     while (s.hasNext()) { 
     list.add(Arrays.asList(s.nextLine().split(","))); 
} 

if (list.get(0).get(0).equalsIgnoreCase(changeName)) { 
    System.out.println("Enter the new amount paid for the player"); 
    newAmount = FileUtility.getInput().nextLine(); 
    list.get(0).set(4, newAmount); 
    //write to csv file here 

Répondre

0

mettez ce code en bas de votre code.

String csv = list.stream() 
    .map(row -> row.stream() 
     .map(col -> col.toString()) 
     .collect(Collectors.joining(", "))) 
    .collect(Collectors.joining("\n")); 
writer.write(csv); 
+0

ne fonctionnerait pas, il vient de supprimer tout contenu dans le fichier qui existait –

+0

@RyanBlanchard vous dire que le fichier numérisé a une valeur vide ?? – kangtaku