bonjour,
je suis confronté à deux problemes avec java.
j'ai un fichier dont le contenu est le suivant:
la partie qui m'interresse est celle comprise entre $NODES et $ENDNODES.$MeshFormat
2 0 8
$EndMeshFormat
$Nodes
410
1 -20 20 5
2 20 20 5
3 20 25 5
4 -20 25 5
5 25 -20 5
[...]
391 20 0 50
392 20 10 50
393 -10 20 45
394 0 20 45
395 10 20 45
396 10 20 50
397 0 20 50
398 -10 20 50
399 -20 -10 45
400 -20 0 45
401 -20 10 45
402 -20 10 50
403 -20 0 50
404 -20 -10 50
405 10 -20 45
406 0 -20 45
407 -10 -20 45
408 -10 -20 50
409 0 -20 50
410 10 -20 50
$EndNodes
$Elements
910
1 15 2 0 1 1
2 15 2 0 2 2
3 15 2 0 3 3
4 15 2 0 4 4
5 15 2 0 5 5
6 15 2 0 6 6
7 15 2 0 7 7
8 15 2 0 8 8
9 15 2 0 9 9
10 15 2 0 10 10
11 15 2 0 11 11
12 15 2 0 12 12
13 15 2 0 13 13
14 15 2 0 14 14
[...]
895 2 3 0 22 0 402 401 400
896 2 3 0 22 0 121 120 401
897 2 3 0 23 0 124 407 125
898 2 3 0 23 0 405 123 410
899 2 3 0 23 0 405 410 406
900 2 3 0 23 0 407 406 408
901 2 3 0 23 0 407 408 125
902 2 3 0 23 0 406 410 409
903 2 3 0 23 0 406 409 408
904 2 3 0 23 0 123 126 410
905 2 3 0 24 0 128 127 130
906 2 3 0 24 0 128 130 129
907 2 3 0 25 0 131 134 132
908 2 3 0 25 0 134 133 132
909 2 3 0 26 0 138 137 136
910 2 3 0 26 0 138 136 135
$EndElements
il s'ajit de coordonnées de points. le premier nombre de chaque ligne donne le numero du point et les trois nombres qui suivent donnent les coordonnées x,y,z.
j'ai donc fait ceci pour lire le fichier ligne par ligne
ce qui me met tout le texte dans une variable string, pas tres utilie telle quelle.Code:try { FileReader fr = new FileReader("geometry.msh"); BufferedReader br = new BufferedReader(new FileReader("geometry.msh")); while (( line = br.readLine()) != null){ for (int l=0;l<800;l++) msh1=msh1+" "+line; } } catch (IOException ex) { ex.printStackTrace();
je voudrais faire ceci:
à chaque fois que je lis une "line", il faudrait identifier si elle est comrise entre $node et $endnode ou non, si oui on ne prends pas encompte le premier numero (c'est juste un index) et on prends chacun des 3 autres string restants et on les change en double (parse.double) et on les met dans un tableau (double [][] msh) de dimension 3x1000, la premiere valeur à la 1ere colonne, la 2eme à la 2eme et la 3eme à la 3eme. et à chaque iteration on refait la meme chose avec à chaque fois une nouvelle ligne.
à la fin ce que je veux obtenir à partir de ce fichier c'est un double [][] msh (3x1000) qui ne contiendrait que les coordonnées x, y, et z de tous les pts.
le deuxieme probleme concerne les BD. j'ai dans ma classe un tableau de double de dimension 6, et un string qui lui est lié
je voudrais dans un action performed d'un jbutton, enregistrer le string et le double[] dans un fichier de base de donnée. le format du fichier m'importe peu (xls, xml,sql...) mais il doit etre bien definit.
l'enregistrement se fait comme suit: le string se met dans la colonne 1 de la BD et les 6 valeurs du double[] dans les colonnes 2-7. biensur si il y a deja qqch d'enregistré dans le fchier de BD, le string et le double[] doivent se mettre apres la dernier ligne existante dans le fichier. auriez vous un exemple de classes dont je pourrais m'inspirer qui pourrait repondre à mes besoin? sinon pourriez vous m'expliquer comment faire?
merci
-----