VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Recuperer donnée d'un fichier texte JAVA

mariam - Dernière réponse le 28 oct. 2011 à 02:49
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...
Lire la suite 

Recuperer donnée d'un fichier texte JAVA »

31 réponses
Réponse
+3
moins plus
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
louna2009 - 2 juil. 2009 à 20:47
ok et merci infiniement pour votre aide :)))
paradissia - 9 mai 2011 à 14:11
mérçi
Elise - 28 oct. 2011 à 02:49
Bonsoir svp vous pouvez poster le programme qui permets d'afficher les autres lignes merci
Ajouter un commentaire
Réponse
+2
moins plus
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
Herezia- 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é"
louna2009 - 5 juil. 2009 à 15:50
merci infiniement
vous mavez aidé à avancer dans mon memoire de mastere
grace à votre aide!!!
Je suis tres reconnaissante
merciiiiiiii
Herezia- 5 juil. 2009 à 17:12
De rien, bon courage pour ton mémoire !
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
louna2009 - 2 juil. 2009 à 10:58
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
Ajouter un commentaire
Réponse
+0
moins plus
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
louna2009 - 2 juil. 2009 à 12:08
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
Ajouter un commentaire
Réponse
+0
moins plus
Je vais manger je te réponds dans 30 minutes
louna2009 - 2 juil. 2009 à 12:20
lol!! bon appetit alors ;)
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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...)
louna2009 - 3 juil. 2009 à 11:40
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
Ajouter un commentaire
Réponse
+0
moins plus
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)
Ajouter un commentaire
Ce document intitulé « recuperer donnée d'un fichier texte JAVA » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?