Recuperer donnée d'un fichier texte JAVA
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...
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
Résumé de la discussion
Plusieurs esprits se sont penchés sur la lecture d'un fichier texte en Java afin d'extraire une valeur déterminée et de la stocker dans une variable. Des approches variées émergent, notamment lire chaque ligne puis repérer des valeurs avec indexOf et substring, ou bien utiliser une tokenisation avec StringTokenizer et Integer.parseInt. D'autres exemples montrent la lecture du fichier VarAextraire.txt, la construction d'un tableau d'entiers et l'extraction des valeurs présentes sur chaque ligne, premier élément ou premier token. En cas de besoin, les réponses évoquent aussi des cas pratiques comme des matrices de distances ou des structures de données, sans conclure sur une solution unique.
-
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-
-
@louna2009Est-que cette ligne existe bien :
while ((ligne = br.readLine()) != null)
{
numLigne++; // CETTE LIGNE !!!
System.out.println(ligne); -
@danimooui je lai mise biensur!!
-
@louna2009Effectivement, 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) ? -
@danimojai su d'ou est ce que ça provient
c'est parce que la 1ere ligne de mon fichier texte etait vide
il fallait juste supprimer l'espace
jai l'affichage des 4 premieres lignes.
je vais essayer de declarer d'autres variables et suivre votre principe!!
Je vous confirme plutard
merci
-