Récupérer contenu de liste trié dans un tableau

AHop Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

j'ai utilisé ce code pour trié une liste des demandes d'un fichier txt et je veux récupérer cette liste dans un tableau ou un liste chaîné . voici le code et le fichier txt qui contient la liste des demandes



public class ConCsv
{
    List<> books = new ArrayList<>();

  public static void main(String[] args) throws Exception
  {
    Class.forName("org.relique.jdbc.csv.CsvDriver");

    
    Properties props = new Properties();
    props.put("fileExtension", ".txt");

    Connection conn = DriverManager.getConnection("jdbc:relique:csv:C:\\csv", props);

    
    Statement stmt = conn.createStatement();

    ResultSet results = stmt.executeQuery("select * from csv order by eo");

   
    boolean append = true;
    CsvDriver.writeToCsv(results, System.out, append);
    

    conn.close();
  }
}



id,origin,destination,capacite,eo,Em,DTM,DTD,lo,ed,ld
1,V1,v1+n,2,2012-6-24_18:4:00,00:10,01:00,00:45,2012-06-24_18:14,2012-06-24_18:49,2012-06-24_19:14
2,V2,v2+n,4,2012-6-24_18:6:00,00:17,01:00,00:40,2012-06-24_18:23,2012-06-24_18:46,2012-06-24_19:23
3,V3,v3+n,2,2012-6-24_18:3:00,00:25,00:45,00:30,2012-06-24_18:28,2012-06-24_18:33,2012-06-24_19:13
4,V4,v4+n,4,2012-6-24_14:49:00,00:17,01:00,00:40,2012-06-24_15:06,2012-06-24_15:29,2012-06-24_16:06
5,V5,v5+n,5,2012-6-24_14:59:00,00:10,01:15,00:55,2012-06-24_15:09,2012-06-24_15:54,2012-06-24_16:24
6,V6,v6+n,4,2012-6-24_14:32:00,00:10,01:00,00:45,2012-06-24_14:42,2012-06-24_15:17,2012-06-24_15:42
7,V7,v7+n,1,2012-6-24_17:58:00,00:15,01:15,00:55,2012-06-24_18:13,2012-06-24_18:53,2012-06-24_19:28
8,V8,v8+n,3,2012-6-24_17:59:00,00:15,01:30,01:10,2012-06-24_18:14,2012-06-24_19:09,2012-06-24_19:44
9,V9,v9+n,4,2012-6-24_14:37:00,00:20,01:10,00:50,2012-06-24_14:57,2012-06-24_15:27,2012-06-24_16:07
10,V10,v10+n,5,2012-6-24_14:47:00,00:20,00:50,00:40,2012-06-24_15:07,2012-06-24_15:27,2012-06-24_15:57
11,v11,v11+n,5,2012-6-24_14:33:00,00:25,01:00,00:50,2012-06-24_14:58,2012-06-24_15:23,2012-06-24_15:58
12,V12,v12+n,5,2012-6-24_14:27:00,00:25,01:30,01:00,2012-06-24_14:52,2012-06-24_15:27,2012-06-24_16:22





A voir également:

2 réponses

greg6614 Messages postés 592 Date d'inscription   Statut Membre Dernière intervention   107
 
Salut,

Tu peux utiliser la méthode
toArray()
de l'interface
List<T>
-1
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

writeToCsv prend en paramètre n'importe quel PrintStream, sachant que derrière la seule chose qu'il utilise c'est print et println, donc au lieu de mettre System.out tu peux mettre un PrintStream personnalisé qui va ajouter dans ta liste les String qu'il met dans print/println.

Exemple :

public class ListPrintStream extends PrintStream {
    private List<String> list;
    private StringBuffer buffer;

    public ListPrintStream(List<String> list) {
        super(System.err); // non utilisé dans notre cas
        this.list = list;
        buffer = new StringBuffer();
    }

    @Override
    public void print(String str) {
        buffer.append(str);
    }

    @Override
    public void println(String str) {
        buffer.append(str);
        list.add(buffer.toString());
        buffer = new StringBuffer();
    }
}

List<String> list = new ArrayList<>();
CsvDriver.writeToCsv(results, new ListPrintStream(list), append);
System.out.println(list);
-1