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

AHop Messages postés 28 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
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 629 Statut Membre 107
 
Salut,

Tu peux utiliser la méthode
toArray()
de l'interface
List<T>
-1
KX Messages postés 19031 Statut Modérateur 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