Recuperer donnée d'un fichier texte JAVA

Fermé
mariam - 1 juil. 2009 à 20:35
javaprog
Messages postés
2
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
25 août 2014
- 25 août 2014 à 13:38
Bonjour tout le monde,
j'etais entrain de voir les reponses deja proposées dans ce site pour lire un fichier texte et afficher son contenu (en JAVA)
Mon but c'est que je veux extraire une valeur bien determinée du fichier texte et la stocker dans une variable.

le code suivant aide à afficher tout le contenu du fichier

public static void main(String[] args) {

String chaine = null;
// lecture du fichier texte
try {
InputStream ips = new FileInputStream("fichier.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;

while ((ligne = br.readLine()) != null) {
System.out.println(ligne);
chaine += ligne + "\n";
}
br.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}


mais mon but c'est de recuperer par exemple la 2eme valeur de la 2eme ligne de mon fichier texte
sachant que le fichier texte comporte des int.

Merci pour votre aide...

10 réponses

Utilisateur anonyme
2 juil. 2009 à 13:29
Re,

Exemple pour extraire la 1ère valeur de chaque ligne:

public static void main(String[] args)
{
//String chaine = null;
// lecture du fichier texte
try {
InputStream ips = new FileInputStream("VarAextraire.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
int numLigne = 0;
int nombreDeLignes = 4; // par exemple
int[] var = new int[nombreDeLignes ];

while ((ligne = br.readLine()) != null)
{
numLigne++;
System.out.println(ligne);
//chaine += ligne + "\n";
int ind = ligne.indexOf(" ");
var[numLigne -1] = Integer.parseInt(ligne.substring(0, ind));
}

for (int i = 0; i < var.length; i++)
{
System.out.println("var[" + i + "] = " + var[i]);
}

br.close();
}
catch (Exception e) {
System.out.println(e.toString());
}

Dan
7
merci "danimo" pour votre proposition
Je lai exécutée et jai ça comme message
java.lang.StringIndexOutOfBoundsException: String index out of range: -1

bon j'avoue que je suis pas du tout forte en java.io c'est pour ça que jai pas compris il est où le probleme!!!

merci encore une fois
0
Utilisateur anonyme > louna2009
2 juil. 2009 à 18:19
Est-que cette ligne existe bien :


while ((ligne = br.readLine()) != null)
{
numLigne++; // CETTE LIGNE !!!
System.out.println(ligne);
0
louna2009 > Utilisateur anonyme
2 juil. 2009 à 18:21
oui je lai mise biensur!!
0
Utilisateur anonyme > louna2009
2 juil. 2009 à 18:28
Effectivement, sinon on aurait un autre message.

Alors c'est sans doute ici:
int ind = ligne.indexOf(" ");

Est-ce que les valeurs dans les lignes sont bien séparées par un espace (celui qu'on recherche avec cette fonction) ?
0
louna2009 > Utilisateur anonyme
2 juil. 2009 à 19:04
vous avez reçu mon message???
0
Utilisateur anonyme
3 juil. 2009 à 07:17
Bonjour,

J'ai choisi d'utiliser la classe StringTokenizer du package java.util.
Et j'utilise le fichie texte qui contient 3 lignes de 9 valeurs au total.

3 45
3 4 6
2 3 67 89

J'ai choisi également d'extraire les 9 valeurs et des les stocker dans un tableau d'int de longueur 9.
En fin de lecture, ces 9 valeurs sont extraites du tableau etcopiées dans les 9 variables a à g (int)

Voici la classe:

import java.io.*;
import java.util.StringTokenizer;

public class ExtractVar
{
public static void main(String[] args)
{
//String chaine = null;
// lecture du fichier texte
try
{
InputStream ips = new FileInputStream("VarAextraire.txt"); // mon fichier texte pour tester
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
int tokSv = 0;
int nombreDeVariables = 9; // par exemple les 9 valeurs des 3 lignes de l'exemple
int[] var = new int[nombreDeVariables];

while ((ligne = br.readLine()) != null)
{
System.out.println(ligne); // peut etre supprimé
int tok = tokSv;
StringTokenizer val = new StringTokenizer(ligne," "); // ici point important: ," " indique qu'on utilise le séparateur de mots (de valeurs) espace.

while(val.hasMoreTokens())
{
var[tok] = Integer.parseInt(val.nextToken());
System.out.println("var[" + tok + "] = " + var[tok]); // peut etre supprimé
tok++;
}
tokSv = tok;
}

int a = var[0];
int b = var[1];
int c = var[2];
int d = var[3];
int e = var[4];
int f = var[5];
int g = var[6];
int h = var[7];
int i = var[8];
System.out.println("a/b/c/d/e/f/g/h/i = " + a + "/" + b + "/" + c + "/" + d
+ "/" + e + "/" + f + "/" + g + "/" + h + "/" + i); // pour contrôle

br.close();
}
catch (Exception e) {
System.out.println(e.toString());
}
}
}

Il n'y a pas beaucoup de commentaires, mais n'hésites pas à me poser des questions si certains points sont obscurs.

Cordialement,

Dan
2
merci pour votre aide
je vais tester ce code et je vous contacte s'il y a un probleme
Merci encore une fois!!!
0
merci infiniement ça marche
un dernier service si ça ne te gene pas biensur:
est ce qu'on peut les recuperer dans une matrice?? (vecteur à 2 dimensions)
comme ça ça sera plus facile d'acceder au contenu souhaité!!
0
Herezia
Messages postés
70
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
28 août 2014
11 > louna2009
3 juil. 2009 à 15:49
Si tu veux utiliser des vecteurs penche toi sur la classe java.util.Vector

Pour accéder aux informations comme dans une matrice procède comme suit:
// Pour accéder à la nième ligne de la miène colonne
private Integer getValeur(Integer n, Integer m, List<List<Integer>> valeurs)
{
	if (valeurs.get(n) != null)
		if (valeurs.get(n).size() > m)
			return valeurs.get(n).get(m);
	return -1;
}


Code non vérifié, bonne utilisation, pense à mettre ce sujet en "terminé"
0
merci infiniement
vous mavez aidé à avancer dans mon memoire de mastere
grace à votre aide!!!
Je suis tres reconnaissante
merciiiiiiii
0
Herezia
Messages postés
70
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
28 août 2014
11 > louna2009
5 juil. 2009 à 17:12
De rien, bon courage pour ton mémoire !
0
bonjour,moi mon probléme c'est comment récupérer une matrice à partir d'un fichier texte?mon fichier est constitué de la distance euclidienne entre les différents points.le voici:
--> Nombre de points = 40

(1, 2) = 75928.43314877294
(1, 3) = 89268.28705622049
(1, 4) = 127540.29011853755
(1, 5) = 82115.27360455833
(1, 6) = 96860.86525272053
(1, 7) = 27759.52110875805
(1, 8) = 74191.91532623059
(1, 9) = 70267.61422762737
(1, 10) = 90920.87165388532
(1, 11) = 67218.88836146066
(1, 12) = 56989.630845632644
(1, 13) = 72020.39354475563
(1, 14) = 108750.85816217658
(1, 15) = 96250.24903934063
(1, 16) = 62804.536589912976
(1, 17) = 122624.06727367263
(1, 18) = 64329.957986508365
(1, 19) = 69617.62562676633
(1, 20) = 111886.90850185981
(1, 21) = 64135.06305467276
(1, 22) = 129656.27212097705
(1, 23) = 101888.3791244486
(1, 24) = 84729.72122754023
(1, 25) = 115030.22623635379
(1, 26) = 104920.83223047842
(1, 27) = 105276.65061089244
(1, 28) = 24935.5097829576
(1, 29) = 65275.101636507796
(1, 30) = 127139.9833068319
(1, 31) = 61936.68875086397
(1, 32) = 102472.9060901518
(1, 33) = 76603.9080911629
(1, 34) = 80181.71680800042
(1, 35) = 79417.37542670686
(1, 36) = 142290.77584598548
(1, 37) = 65839.00077486353
(1, 38) = 113612.09678307448
(1, 39) = 153127.64509522397
(1, 40) = 36075.703893520535
(2, 3) = 13472.367619483102
(2, 4) = 52840.18568029485
(2, 5) = 34839.61036847476
(2, 6) = 35412.008104659595
(2, 7) = 48174.74601210717
(2, 8) = 51291.13688547805
(2, 9) = 57180.37952801306
(2, 10) = 66086.48185773895
(2, 11) = 18202.601266558097
(2, 12) = 19395.43288582217
(2, 13) = 8152.697211304354
(2, 14) = 65715.55371627353
(2, 15) = 35058.936563130796
(2, 16) = 25714.617613187187
(2, 17) = 48567.55394562656
(2, 18) = 12057.046965144835
(2, 19) = 53245.86398071883
(2, 20) = 48753.14022515092
(2, 21) = 34068.69045803268
(2, 22) = 54030.549927661494
(2, 23) = 34033.37739316498
(2, 24) = 14616.029158699666
(2, 25) = 73472.73329219589
(2, 26) = 62640.61617750162
(2, 27) = 61429.77386714305
(2, 28) = 56376.95234517487
(2, 29) = 65936.89072041876
(2, 30) = 66144.82798635312
(2, 31) = 56516.98434453135
(2, 32) = 52541.98699890011
(2, 33) = 14350.41268148695
(2, 34) = 45180.44339823314
(2, 35) = 14899.88569826812
(2, 36) = 113755.21309337825
(2, 37) = 16636.76510413907
(2, 38) = 166531.96966815126
(2, 39) = 78830.36981435113
(2, 40) = 45691.71961691858
(3, 4) = 41005.14944861444
(3, 5) = 39736.07136727339
(3, 6) = 33928.28038534252
(3, 7) = 61509.63428712581
(3, 8) = 59279.516414704136
(3, 9) = 66149.3443210872
(3, 10) = 71704.88567898792
(3, 11) = 29166.601900211077
(3, 12) = 32409.026121546056
(3, 13) = 19735.279496263865
(3, 14) = 66774.30631087095
(3, 15) = 33795.93607609912
(3, 16) = 36867.06013655543
(3, 17) = 35478.83888820243
(3, 18) = 25496.444494188574
(3, 19) = 62190.90872104661
(3, 20) = 44175.85834610095
(3, 21) = 44185.04505712598
(3, 22) = 41304.841208465295
(3, 23) = 28926.0858516211
(3, 24) = 11591.346376830475
(3, 25) = 74243.24773443282
(3, 26) = 64245.72025893699
(3, 27) = 62704.69545394477
(3, 28) = 69810.21768161621
(3, 29) = 75988.12432829445
(3, 30) = 60962.4896896988
(3, 31) = 66779.59675078643
(3, 32) = 52951.662292698435
(3, 33) = 21542.432107323963
(3, 34) = 51431.88960520614
(3, 35) = 20191.11120420495
(3, 36) = 115388.67057871277
(3, 37) = 26599.987111007667
(3, 38) = 178663.8124169947
(3, 39) = 65513.20299465994
(3, 40) = 58989.40103051316
(4, 5) = 56066.71599331902
(4, 6) = 39163.7825929465
(4, 7) = 100086.632367079
(4, 8) = 77201.88758083568
(4, 9) = 85576.65528802425
(4, 10) = 80645.85801223888
(4, 11) = 61159.56270273433
(4, 12) = 72174.0736025538
(4, 13) = 55547.81508801805
(4, 14) = 63627.93545681433
(4, 15) = 39673.44622918983
(4, 16) = 67311.90425207389
(4, 17) = 32018.38238818234
(4, 18) = 63509.92968820312
(4, 19) = 82186.18977338799
(4, 20) = 33015.52548883382
(4, 21) = 70675.80618383056
(4, 22) = 7701.955896002564
(4, 23) = 29949.45889640129
(4, 24) = 50630.94780236281
(4, 25) = 68490.42174711113
(4, 26) = 63366.9925652688
(4, 27) = 61296.706196068495
(4, 28) = 105576.12298916247
(4, 29) = 97386.69693031242
(4, 30) = 39847.81342725289
(4, 31) = 89903.09280690373
(4, 32) = 52345.93794442793
(4, 33) = 51445.60709039815
(4, 34) = 66759.73399194147
(4, 35) = 48659.90882701369
(4, 36) = 106680.35588465558
(4, 37) = 67600.05980375396
(4, 38) = 203612.20777539097
(4, 39) = 44725.88442366681
(4, 40) = 93909.76564853312
(5, 6) = 17374.142643638388
(5, 7) = 58450.186647173075
(5, 8) = 21683.16531143572
(5, 9) = 29835.70096330119
(5, 10) = 31983.95824838258
(5, 11) = 21737.90040833678
(5, 12) = 42224.906545908365
(5, 13) = 27974.40982709223
(5, 14) = 32617.217572514066
(5, 15) = 16788.667372757016
(5, 16) = 21031.489052719044
(5, 17) = 69946.93651422152
(5, 18) = 33345.54801756136
(5, 19) = 26253.387908731595
(5, 20) = 30709.273706970234
(5, 21) = 18067.393516706466
(5, 22) = 61482.718151477224
(5, 23) = 26117.901402481188
(5, 24) = 48039.44601506925
(5, 25) = 40356.220158985954
(5, 26) = 29092.87229368001
(5, 27) = 28318.215103105038
(5, 28) = 57445.96857382758
(5, 29) = 41440.37880943518
(5, 30) = 45032.7530761106
(5, 31) = 33863.98956741522
(5, 32) = 21708.275459839653
(5, 33) = 20489.281079943335
(5, 34) = 12078.725430450684
(5, 35) = 20386.266382009944
(5, 36) = 79364.30144879762
(5, 37) = 48055.51047070338
(5, 38) = 147631.11801501922
(5, 39) = 96101.54611619838
(5, 40) = 46041.310985828924
(6, 7) = 71433.78351684552
(6, 8) = 38043.97009437466
(6, 9) = 46430.830908940006
(6, 10) = 43274.34328118582
(6, 11) = 30950.79073206136
(6, 12) = 49534.27188604372
(6, 13) = 31776.879359929986
(6, 14) = 33147.22517441666
(6, 15) = 620.3558340862743
(6, 16) = 34071.44339879279
(6, 17) = 57212.54162115926
(6, 18) = 39619.81668684952
(6, 19) = 43104.16246467341
(6, 20) = 15240.780565989344
(6, 21) = 34232.04985391782
(6, 22) = 45092.79424017613
(6, 23) = 9718.791933785242
(6, 24) = 44763.90537297522
(6, 25) = 40435.06933015629
(6, 26) = 30996.05541193142
(6, 27) = 29272.1570152203
(6, 28) = 72768.52521259346
(6, 29) = 58283.632477111736
(6, 30) = 32051.32525089543
(6, 31) = 51120.421791233246
(6, 32) = 19266.87477505609
(6, 33) = 23855.14710473659
(6, 34) = 27597.689538776947
(6, 35) = 21726.22569260425
(6, 36) = 81670.5882896484
(6, 37) = 51583.6945688529
(6, 38) = 164484.79330890498
(6, 39) = 80965.26439014179
(6, 40) = 61047.73298406173
(7, 8) = 56216.36511843067
(7, 9) = 55105.8827475496
(7, 10) = 74587.22209334752
(7, 11) = 40798.02430256991
(7, 12) = 29290.53705393802
(7, 13) = 44548.6483442569
(7, 14) = 88339.68404192607
(7, 15) = 70843.41635266831
(7, 16) = 37754.11101602504
(7, 17) = 95131.63836865095
(7, 18) = 36668.59920805524
(7, 19) = 53077.29177235155
(7, 20) = 86660.83884032424
(7, 21) = 41509.3251260712
(7, 22) = 101993.11388635234
(7, 23) = 75470.71692468625
(7, 24) = 57313.70529736794
(7, 25) = 95377.73153276862
(7, 26) = 84486.61697483885
(7, 27) = 84434.62529163384
(7, 28) = 15214.610252891413
(7, 29) = 54810.79074611895
(7, 30) = 102791.23338007511
(7, 31) = 48017.88916336098
(7, 32) = 79878.62660317631
(7, 33) = 49743.84080942902
(7, 34) = 59400.216475974645
(7, 35) = 52528.08267575606
(7, 36) = 127834.42641802893
(7, 37) = 38773.470146602085
(7, 38) = 130682.36891584843
(7, 39) = 125661.66159516467
(7, 40) = 16299.115770961129
(8, 9) = 8415.354359652421
(8, 10) = 18578.986137196513
(8, 11) = 33806.34154039887
(8, 12) = 51248.81199429339
(8, 13) = 43273.6420794743
(8, 14) = 34973.256547180106
(8, 15) = 37528.85300665326
(8, 16) = 27904.276007435015
(8, 17) = 91300.02872374018
(8, 18) = 45200.20511240195
(8, 19) = 5696.5346712367145
(8, 20) = 48576.89592436753
(8, 21) = 19038.31167112561
(8, 22) = 82929.68385264261
(8, 23) = 47401.428866392125
(8, 24) = 65699.8220034745
(8, 25) = 40873.97174278711
(8, 26) = 31249.55810091024
(8, 27) = 31955.354800174897
(8, 28) = 49607.91015914385
(8, 29) = 20362.08816623563
(8, 30) = 58950.618827179715
(8, 31) = 14872.147968775549
(8, 32) = 32213.346915164115
(8, 33) = 38020.135878906185
(8, 34) = 10523.63313365739
(8, 35) = 39090.312989557984
(8, 36) = 71870.42238598847
(8, 37) = 60395.59930323794
(8, 38) = 126454.25609367437
(8, 39) = 117784.22238563998
(8, 40) = 40522.31649681814
(9, 10) = 20656.679540800276
(9, 11) = 39157.491467101114
(9, 12) = 54615.84310295511
(9, 13) = 49042.73974634884
(9, 14) = 41028.29325019868
(9, 15) = 45909.781906856675
(9, 16) = 32360.44296222087
(9, 17) = 98953.52511864675
(9, 18) = 49796.13541571647
(9, 19) = 3963.1919095174535
(9, 20) = 56893.579545749184
(9, 21) = 23402.587846341263
(9, 22) = 91237.63661638211
(9, 23) = 55733.465408678174
(9, 24) = 71759.14894250833
(9, 25) = 46077.268936045075
(9, 26) = 37514.20953459656
(9, 27) = 38517.02195458064
(9, 28) = 46429.52093468644
(9, 29) = 11961.212016048405
(9, 30) = 66698.90890631401
(9, 31) = 8447.772853303117
(9, 32) = 39988.672785489514
(9, 33) = 44650.13279714752
(9, 34) = 18938.634614535615
(9, 35) = 46022.373455526475
(9, 36) = 73030.12875911279
(9, 37) = 64624.54320233659
(9, 38) = 118055.47435006431
(9, 39) = 125846.08944972769
(9, 40) = 38882.52734652939
(10, 11) = 50025.385111940195
(10, 12) = 68890.10010949735
(10, 13) = 58529.04343940209
(10, 14) = 23767.121408563376
(10, 15) = 42957.983612758704
(10, 16) = 45263.97738409817
(10, 17) = 100217.52076772047
(10, 18) = 61906.42438895388
(10, 19) = 21689.113778309027
(10, 20) = 48434.55708473195
(10, 21) = 36870.08299511046
(10, 22) = 87366.79915310419
(10, 23) = 52918.90118661658
(10, 24) = 79824.32710415774
(10, 25) = 26908.685043754347
(10, 26) = 21175.398618173727
(10, 27) = 22875.628610314252
(10, 28) = 66927.8655664573
(10, 29) = 28629.327894768794
(10, 30) = 53327.644136091534
(10, 31) = 29049.416974593958
(10, 32) = 28921.857028419912
(10, 33) = 51914.55254446418
(10, 34) = 20922.30824777047
(10, 35) = 52207.65311257204
(10, 36) = 53318.20209738643
(10, 37) = 77205.1864604454
(10, 38) = 127325.36404707828
(10, 39) = 123983.15209248064
(10, 40) = 58655.06680173602
(11, 12) = 20488.681301129636
(11, 13) = 10076.375993964439
(11, 14) = 54354.7367137776
(11, 15) = 30385.027328074535
(11, 16) = 7714.460555702597
(11, 17) = 64360.444467120855
(11, 18) = 11982.236023612446
(11, 19) = 35257.85259675938
(11, 20) = 46172.62398494261
(11, 21) = 15887.163192127933
(11, 22) = 64341.727460585105
(11, 23) = 34739.68225620737
(11, 24) = 32813.32044493468
(11, 25) = 62086.35657945865
(11, 26) = 50809.18752318885
(11, 27) = 50055.70356743023
(11, 28) = 44440.395933055726
(11, 29) = 47737.746447974234
(11, 30) = 62841.158066778524
(11, 31) = 38328.18182902919
(11, 32) = 42903.52577583866
(11, 33) = 9733.429575048187
(11, 34) = 29345.886085445818
(11, 35) = 12500.577487081537
(11, 36) = 100478.97925555808
(11, 37) = 27221.914831140235
(11, 38) = 149520.13350151086
(11, 39) = 93757.82049608449
(11, 40) = 32750.22697793114
(12, 13) = 18201.820740146963
(12, 14) = 74839.68147356687
(12, 15) = 49037.83839162502
(12, 16) = 23631.04948036619
(12, 17) = 65932.2060290537
(12, 18) = 9939.656426043326
(12, 19) = 51098.45185620862
(12, 20) = 64313.96848408507
(12, 21) = 32222.01705371506
(12, 22) = 73408.58688857192
(12, 23) = 50847.46039620116
(12, 24) = 28318.926867009002
(12, 25) = 82563.0997358591
(12, 26) = 71278.47819270524
(12, 27) = 70543.11983503187
(12, 28) = 39524.40480008671
(12, 29) = 60357.2097149575
(12, 30) = 81526.73617625397
(12, 31) = 51120.00994395868
(12, 32) = 63255.83663291315
(12, 33) = 25693.523542261457
(12, 34) = 48913.47645572746
(12, 35) = 28024.357512401988
(12, 36) = 120516.24867360776
(12, 37) = 11649.101915009598
(12, 38) = 153761.32614097183
(12, 39) = 96461.15126082064
(12, 40) = 30477.93098799799
(13, 14) = 59847.521864316484
(13, 15) = 31321.619391667387
(13, 16) = 17680.15831060363
(13, 17) = 55203.572394409945
(13, 18) = 8400.459592027055
(13, 19) = 45113.43785718425
(13, 20) = 46267.21155389083
(13, 21) = 25919.92133705601
(13, 22) = 57760.35573472571
(13, 23) = 32649.07510962465
(13, 24) = 22767.252600800515
(13, 25) = 67641.09682790366
(13, 26) = 56573.148115952165
(13, 27) = 55525.67175699179
(13, 28) = 50943.32836929738
(13, 29) = 57811.402461861115
(13, 30) = 63573.91133504913
(13, 31) = 48404.55220493816
(13, 32) = 47211.14389226036
(13, 33) = 8191.788210267656
(13, 34) = 37611.204425402604
(13, 35) = 10051.574970574093
(13, 36) = 107311.10953956771
(13, 37) = 20457.84393274827
(13, 38) = 159066.7847874919
(13, 39) = 85067.16954932261
(13, 40) = 39729.16480877489
(14, 15) = 33174.299289397655
(14, 16) = 52781.52921948831
(14, 17) = 88448.8173313311
(14, 18) = 65875.62356396043
(14, 19) = 40224.59445789482
(14, 20) = 30742.2263421039
(14, 21) = 46945.98884060105
(14, 22) = 71020.41025064905
(14, 23) = 40997.209578939815
(14, 24) = 77082.33079602968
(14, 25) = 7794.135215591547
(14, 26) = 3861.869082921479
(14, 27) = 4325.840833008922
(14, 28) = 83912.1592394771
(14, 29) = 51253.576794208304
(14, 30) = 30553.65735470024
(14, 31) = 49186.38877632138
(14, 32) = 13882.449597830928
(14, 33) = 51816.98763849758
(14, 34) = 28986.33535070556
(14, 35) = 50826.59019767973
(14, 36) = 48614.36477587309
(14, 37) = 80252.61605640777
(14, 38) = 150505.7662015363
(14, 39) = 108271.9756606435
(14, 40) = 73817.6156382828
(15, 16) = 33463.78741310965
(15, 17) = 57453.20925744479
(15, 18) = 39129.78587886468
(15, 19) = 42567.50648803806
(15, 20) = 15823.378607845587
(15, 21) = 33612.97464668496
(15, 22) = 45557.685813304815
(15, 23) = 10119.51391710354
(15, 24) = 44566.97390269329
(15, 25) = 40507.745293614076
(15, 26) = 30961.45953299098
(15, 27) = 29261.71776228436
(15, 28) = 72151.31175823619
(15, 29) = 57752.15114812053
(15, 30) = 32578.08754210739
(15, 31) = 50556.07527645747
(15, 32) = 19292.20186340954
(15, 33) = 23369.862826472323
(15, 34) = 27097.32978228323
(15, 35) = 21274.50518526126
(15, 36) = 81729.58203773531
(15, 37) = 51184.28698038253
(15, 38) = 163960.5815716734
(15, 39) = 81354.94984582848
(15, 40) = 60431.91104532443
(16, 17) = 71973.90617669471
(16, 18) = 17458.831216048384
(16, 19) = 28563.541748541324
(16, 20) = 49182.92342877453
(16, 21) = 9009.347601273625
(16, 22) = 70947.70268689483
(16, 23) = 39491.181873494505
(16, 24) = 40266.48240973827
(16, 25) = 60316.9348489601
(16, 26) = 49051.21268787524
(16, 27) = 48599.62677503564
(16, 28) = 39019.58150603581
(16, 29) = 40310.07963662766
(16, 30) = 65051.32515164189
(16, 31) = 30859.198446114497
(16, 32) = 42729.04137766154
(16, 33) = 16609.762926671512
(16, 34) = 25469.392629282058
(16, 35) = 19143.653300921313
(16, 36) = 97132.25581634829
(16, 37) = 32519.04449966301
(16, 38) = 141855.8148437428
(16, 39) = 101199.05726624784
(16, 40) = 27224.783885635257
(17, 18) = 60574.414874940136
(17, 19) = 95085.1100751971
(17, 20) = 58678.285867990824
(17, 21) = 78573.90763495886
(17, 22) = 25665.894948296733
(17, 23) = 47962.83691152329
(17, 24) = 37901.27123974975
(17, 25) = 94665.13202418295
(17, 26) = 87132.68125514957
(17, 27) = 85192.52437116436
(17, 28) = 104759.96648438205
(17, 29) = 109665.44395324816
(17, 30) = 70102.0585277707
(17, 31) = 100795.57335720415
(17, 32) = 75227.22283253816
(17, 33) = 55783.41570147012
(17, 34) = 82002.74479300201
(17, 35) = 53743.8735881007
(17, 36) = 134949.36619118825
(17, 37) = 56954.50433208219
(17, 38) = 213798.82280950976
(17, 39) = 30531.832723329804
(17, 40) = 94254.37145286614
(18, 19) = 46018.56322261206
(18, 20) = 54374.34159895193
(18, 21) = 26466.009791623812
(18, 22) = 65333.27200155732
(18, 23) = 41009.51808958428
(18, 24) = 24859.896240610306
(18, 25) = 73647.20481012862
(18, 26) = 62417.76946527227
(18, 27) = 61556.001172169206
(18, 28) = 44322.119713806766
(18, 29) = 57177.8485916037
(18, 30) = 71593.2921849276
(18, 31) = 47720.8991407938
(18, 32) = 53860.86725183964
(18, 33) = 15767.126250401052
(18, 34) = 41311.88242492239
(18, 35) = 18087.313131539144
(18, 36) = 112408.75524257247
(18, 37) = 15300.751887889288
(18, 38) = 155330.45400817267
(18, 39) = 90880.41641259662
(18, 40) = 33689.06827492842
(19, 20) = 54110.16483140468
(19, 21) = 19573.040066528498
(19, 22) = 87728.31082269138
(19, 23) = 52281.27231089276
(19, 24) = 67816.84865451141
(19, 25) = 45791.73033414875
(19, 26) = 36568.55278578455
(19, 27) = 37381.046062381436
(19, 28) = 45336.05043246031
(19, 29) = 15204.12274381356
(19, 30) = 64646.97485273138
(19, 31) = 9199.725931487033
(19, 32) = 37908.88745744263
(19, 33) = 40688.0329416709
(19, 34) = 15915.01009994512
(19, 35) = 42071.91395686007
(19, 36) = 74768.82594485032
(19, 37) = 60933.63475656268
(19, 38) = 121430.47401194011
(19, 39) = 122122.9190017765
(19, 40) = 37020.623229882505
(20, 21) = 48541.943033468124
(20, 22) = 40309.484760449464
(20, 23) = 15277.340943001844
(20, 24) = 55693.02778430643
(20, 25) = 36220.359872882866
(20, 26) = 30351.494693292683
(20, 27) = 28281.55358683198
(20, 28) = 87593.31972806588
(20, 29) = 68833.93068649109
(20, 30) = 17402.29601014596
(20, 31) = 62846.8895251514
(20, 32) = 19605.18460438637
(20, 33) = 38659.422902539736
(20, 34) = 38211.307517072666
(20, 35) = 36296.10787616756
(20, 36) = 76299.46605543306
(20, 37) = 65315.662783468135
(20, 38) = 174131.39379556634
(20, 39) = 77553.91943549464
(20, 40) = 75946.08750609712
(21, 22) = 75070.13827151599
(21, 23) = 41422.85132837356
(21, 24) = 48684.66242104217
(21, 25) = 54170.78952195381
(21, 26) = 43111.48263072278
(21, 27) = 42969.29340472641
(21, 28) = 39393.717828816494
(21, 29) = 31954.193618796322
(21, 30) = 63074.318191897
(21, 31) = 22628.228717232614
(21, 32) = 38622.71432870636
(21, 33) = 22841.465372769824
(21, 34) = 18296.05947201331
(21, 35) = 24843.14200782641
(21, 36) = 89427.20875035084
(21, 37) = 41502.03261386726
(21, 38) = 135431.52604214207
(21, 39) = 107072.42085740912
(21, 40) = 28100.980354450734
(22, 23) = 35540.756330802404
(22, 24) = 49702.74922654312
(22, 25) = 76042.06186230392
(22, 26) = 70623.33215302497
(22, 27) = 68560.30125559309
(22, 28) = 108466.93119826032
(22, 29) = 102922.44918298989
(22, 30) = 47527.87905254249
(22, 31) = 95119.01404226582
(22, 32) = 59401.33880734168
(22, 33) = 54624.918380190815
(22, 34) = 72600.75920562175
(22, 35) = 51920.194390140015
(22, 36) = 114379.87784316528
(22, 37) = 67692.14330485986
(22, 38) = 209096.35702847491
(22, 39) = 37251.58468630473
(22, 40) = 96952.53405352034
(23, 24) = 40420.878554131246
(23, 25) = 47788.924244631315
(23, 26) = 39347.450351691215
(23, 27) = 37470.23530195324
(23, 28) = 78500.71862377513
(23, 29) = 67485.38700241891
(23, 30) = 32392.344627416827
(23, 31) = 59958.53982105084
(23, 32) = 27411.64626584484
(23, 33) = 25882.81827063612
(23, 34) = 37061.22190424972
(23, 35) = 23197.851490833233
(23, 36) = 88908.00692008027
(23, 37) = 50669.69082405273
(23, 38) = 173709.36099754038
(23, 39) = 71246.4932309208
(23, 40) = 66703.65535758583
(24, 25) = 84686.26167343333
(24, 26) = 74333.37745182414
(24, 27) = 72911.35761910159
(24, 28) = 67704.74231225956
(24, 29) = 80536.2592081875
(24, 30) = 72546.53699064272
(24, 31) = 71105.96530994332
(24, 32) = 63406.650003669674
(24, 33) = 27977.36892436893
(24, 34) = 59047.26035485506
(24, 35) = 27658.673143761018
(24, 36) = 125615.69775885432
(24, 37) = 19146.377459870324
(24, 38) = 180187.237721027
(24, 39) = 68398.50520393394
(24, 40) = 57909.042243515556
(25, 26) = 11297.863216574537
(25, 27) = 12118.836005846142
(25, 28) = 90318.40574308978
(25, 29) = 55407.25923299993
(25, 30) = 32402.61363444286
(25, 31) = 54443.22707143519
(25, 32) = 21300.806412403315
(25, 33) = 59605.20692398989
(25, 34) = 35992.372796130105
(25, 35) = 58591.41666287168
(25, 36) = 41248.994257316954
(25, 37) = 88046.49836079575
(25, 38) = 151208.12779925464
(25, 39) = 113213.89332475048
(25, 40) = 80548.95649685162
(26, 27) = 2075.386494647224
(26, 28) = 80071.83782443943
(26, 29) = 47988.96819382645
(26, 30) = 32293.307165974933
(26, 31) = 45590.713348278834
(26, 32) = 11935.943105476783
(26, 33) = 48611.55263191805
(26, 34) = 25125.30568369588
(26, 35) = 47740.80408725011
(26, 36) = 51287.20795831686
(26, 37) = 76925.7555940518
(26, 38) = 148381.4147624973
(26, 39) = 107837.35525973186
(26, 40) = 69957.08607936966
(27, 28) = 80387.55170511387
(27, 29) = 49217.97592740693
(27, 30) = 30477.490704747644
(27, 31) = 46476.24964739187
(27, 32) = 10081.716574065416
(27, 33) = 47502.84377698966
(27, 34) = 25230.151877037435
(27, 35) = 46535.75711058559
(27, 36) = 52719.492062984034
(27, 37) = 75927.7072236973
(27, 38) = 150165.3710360631
(27, 39) = 105778.93601742125
(27, 40) = 70109.61626260472
(28, 29) = 43422.307005175404
(28, 30) = 102467.81485271867
(28, 31) = 38394.36396767829
(28, 32) = 77563.69543898107
(28, 33) = 54133.073555268325
(28, 34) = 55257.44190598875
(28, 35) = 56926.813310672725
(28, 36) = 119290.74196195338
(28, 37) = 50476.32604656008
(28, 38) = 116146.38109182808
(28, 39) = 135160.13621824177
(28, 40) = 11797.063808626368
(29, 30) = 78209.13239420958
(29, 31) = 9467.19246849172
(29, 32) = 51606.474117533435
(29, 33) = 54474.708169607096
(29, 34) = 30882.02037183261
(29, 35) = 56157.89249940135
(29, 36) = 77110.7654914419
(29, 37) = 71206.52376784648
(29, 38) = 106227.26533211446
(29, 39) = 137114.22386365736
(29, 40) = 38728.52907841474
(30, 31) = 73798.41816871584
(30, 32) = 26742.362739708926
(30, 33) = 55834.21883081743
(30, 34) = 49505.236593672074
(30, 35) = 53559.07645134812
(30, 36) = 67204.88295651042
(30, 37) = 82716.8238559526
(30, 38) = 180641.31354288672
(30, 39) = 83599.39196888998
(30, 40) = 91064.30323930763
(31, 32) = 47071.70439824008
(31, 33) = 45325.99587432778
(31, 34) = 24690.726962767003
(31, 35) = 47124.46957760748
(31, 36) = 80897.0680274926
(31, 37) = 61843.44172853541
(31, 38) = 114062.42424524344
(31, 39) = 128658.96027271601
(31, 40) = 31719.6455664518
(32, 33) = 39048.3699363261
(32, 34) = 23053.581579074285
(32, 35) = 37763.57512765245
(32, 36) = 62459.76373828808
(32, 37) = 67664.52697099205
(32, 38) = 155487.25102482137
(32, 39) = 96492.79764004788
(32, 40) = 66619.9270813144
(33, 34) = 31080.73670171145
(33, 35) = 2815.644218614771
(33, 36) = 99557.6142850848
(33, 37) = 28619.48085566092
(33, 38) = 158060.7494527313
(33, 39) = 84677.29993370753
(33, 40) = 42470.367387785074
(34, 35) = 31556.25943475286
(34, 36) = 71665.95629111587
(34, 37) = 56566.446716856386
(34, 38) = 136952.06095127205
(34, 39) = 107821.40760491496
(34, 40) = 44879.684310294106
(35, 36) = 98878.9970003184
(35, 37) = 30132.3010676214
(35, 38) = 160231.27479322057
(35, 39) = 82367.90198753533
(35, 40) = 45250.115167545875
(36, 37) = 127374.58621362565
(36, 38) = 146684.00091644804
(36, 39) = 150801.7846706194
(36, 40) = 111773.6280240834
(37, 38) = 165325.88507119345
(37, 39) = 87377.68529577338
(37, 40) = 41996.20341971485
(38, 39) = 242479.92588306137
(38, 40) = 123333.3321674021
(39, 40) = 124492.85143756252
1
Utilisateur anonyme
2 juil. 2009 à 10:50
Bonjour,

Quelle est le format de tes lignes ?
Quand tu dis "sachant que le fichier texte comporte des int.", tu veux dire des entiers ?
Par exemple ligne2 = "100 200 300 .... 245" et c'est 200 que tu veux extraire (selon ton exemple)?

Donc donnes nous le format de tes lignes, mais aussi dis nous comment tu envisages de fournir le critère sélection de la valeur à extraire. C'est peut-être tout simplement la deuxième valeur de la deuxième ligne!

Cordialement,

Dan
0
bonjour,
oui mon fichier texte comporte plusieurs lignes d'entiers
en fait, mes variables du programme que je dois ecrire seront initialisées depuis le fichier texte...
par exemple var1 = donnée (ligne1, 1ere valeur)
var2 = donnée ligne 2 , 1ere valeur...

Merci pour votre réponse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Herezia
Messages postés
70
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
28 août 2014
11
2 juil. 2009 à 12:04
Si tu fonctionnes ligne par ligne (.readLine()), et si j'ai bien compris ce que tu veux
List<Integer> valeurs = new ArrayList<Integer>();
while ((ligne = br.readLine()) != null) {
	System.out.println(ligne);
	chaine += ligne + "\n";
	valeurs.add(Integer.parseInt(chaine));
} 

Le principe que pour chaque ligne du fichier tu ajoutes l'entier de la ligne dans la liste d'entiers.

La méthode statique parseInt de la classe Integer permet de transformer une chaîne de caractère en entier. Car évidement, tout ce que retourne readLine est de type String.

Tiens nous au courant de ton avancement
0
merci pour votre proposition mais je veux pas parcourir tout le fichier texte
je veux acceder directement aux lignes directement et plus precisemment aux données des lignes

ligne 1: represente 2 ou 3 valeurs que je dois stocker dans 2 ou 3 variables (selon le nbre de données dans la ligne)
ligne 2: contient 3 u 4 valeurs >> je stocke l'une des valeurs selon mon choix....
merci encore une fois
0
Herezia
Messages postés
70
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
28 août 2014
11
2 juil. 2009 à 12:11
Je vais manger je te réponds dans 30 minutes
0
lol!! bon appetit alors ;)
0
Herezia
Messages postés
70
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
28 août 2014
11
2 juil. 2009 à 13:40
Qui fonctionne peu importe le nombre d'élément par ligne
List<List<Integer>> valeurs = new ArrayList<Integer>();
while ((ligne = br.readLine()) != null) {
	System.out.println(ligne);
	chaine += ligne + "\n";
	String[] valeursTextuelles = ligne.split(" "); // " " équivalent à \s
	List<Integer> valeursLigne = new ArrayList<Integer>();
	if (valeursTextuelles != null)
		for (String valeurTextuelle : valeursTextuelles)
			valeursLigne.add(Integer.parseInt(valeurTextuelle));

	valeurs.add(valeursLigne);
} 


J'ai pas compilé mais ça ne devrait pas poser problème

Cela dit, toute notre conversation ne t'a peut-être servi à rien.
Il y a deux façons d'accéder aux fichiers, soit par flux soit de manière aléatoire.

Dans ton cas tu sembles vouloir accéder à une ligne donnée et en tirer les informations. Il faut alors t'orienter vers des classes telles que RandomAccessFile.

Précise moi si c'est bien ça et on regarde ça
0
Herezia
Messages postés
70
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
28 août 2014
11
3 juil. 2009 à 09:15
Les tableaux d'entiers sont restrictifs et inadaptés, utilise des instance de java.util.List plutôt
Parce que ta solution limite de 9 le nombre d'entiers par ligne

Sinon le StringTokenizer est une bonne idée mais il faut penser à utiliser un accès aléatoire plutôt que par flux si elle veut accéder à la Nième ligne

(Par contre, j'aurais aimé avoir un retour de ma réponse, savoir si ça a été utile ou non, inutile que je contribue dans le cas contraire...)
0
bonjour Herezia
desolée jai cru avoir deja repondu à votre message
en fait javais pas compris l'utilité des listes et en plus tu declares une variable de type liste mais tu linitialise à arrayListe ce qui genere deja une erreur...

jai pas su comment corriger ces erreurs!!!

"il faut penser à utiliser un accès aléatoire plutôt que par flux si elle veut accéder à la Nième ligne " c'est ce que je veux aussi!!!

enfin de compte je dois acceder à toutes les valeurs du fichier...
Merci
0
Herezia
Messages postés
70
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
28 août 2014
11
3 juil. 2009 à 13:56
Si tu veux accéder à toutes les valeurs, charge tout en mémoire (si c'est pas trop gros évidemment), en passant par une lecture de flux, BufferedReader et compagnie

Précision: déclarer un objet en List et l'instancier en ArrayList est quelque chose de tout à fait courant. C'est par principe de programmation. Ce dont tu te sers conceptuellement c'est d'une List et pas d'une ArrayList...imaginons que plus tard tu veuilles instancier plutôt une LinkedList ou un Vector et bien tu n'auras juste qu'à changer la déclaration. En effet, l'utilisation de l'interface List garantit l'existence des mêmes méthodes quelque soit sont implémentation (ArrayList, LinkedList ou Vector)

Pour l'erreur déclenchée, ça doit être que tu n'as pas les bons packages d'importés.
Soit tu utilises java.util.List et java.util.ArrayList soit tu en fais un import

Cheers et bon courage tu es bientôt au bout

(PS: tutoie moi)
0
javaprog
Messages postés
2
Date d'inscription
lundi 25 août 2014
Statut
Membre
Dernière intervention
25 août 2014

25 août 2014 à 13:38
Salut,
Moi mon problème c'est que je dois récupérer les données d'un fichier .txt et les insérer dans une base de données sql en java.
Mon fichier .txt contient les données d'une liste de fournitures scolaire, il est sous forme:

2 cahiers grands formats
1 cahier petit format petit carreaux
....

et je voudrais insérer ces données dans une table qui contient les champs:
nombre/type/format/carreaux

S'il vous plais aider moi, c'est urgent, c'est pour un stage.
Merci pour ceux qui pourrons m'envoyer un bout de code pour m'aider.
0