Lire une ligne d'un fichier texte
Bilo01
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Bilo01 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bilo01 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis entrun de dresser une partie de mon programme pour lire une ligne d'un fichier .txt. Dans la ligne, des objets sont séparés par des virgules et ces mêmes objets sont séparés par des "-". J'aimerai créer des variables qui sont les objets et les sous objets dans la ligne et de les retourner. J'ai pu faire un peu les premieres lignes du programme mais je galère toujours . Voici mon programme :
package ganttdiagram;
import java.io.*;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author ABID
*/
public class GanttDiagram {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
FileInputStream in=null;
try {
in = new FileInputStream("C://Users//ABID//Documents//NetBeansProjects//GanttDiagram//M1.txt");
} catch (FileNotFoundException ex) {
Logger.getLogger(GanttDiagram.class.getName()).log(Level.SEVERE, null, ex);
}
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String s = br.readLine();
//comment déclarer jobs???
int sz_line = s.length();
s.split(",");
for (int i=0 ;i<sz_line;i++) {
String st = jobs[i];
String [] valeurs = st.split("-");
float Tdéb = st.parseFloat(valeurs[0]);
float Tfin =st.parseFloat(valeurs[1]);
String Etat = valeurs[2];
}
System.out.println("résultats" +s);
}
}
Merci d'avance
je suis entrun de dresser une partie de mon programme pour lire une ligne d'un fichier .txt. Dans la ligne, des objets sont séparés par des virgules et ces mêmes objets sont séparés par des "-". J'aimerai créer des variables qui sont les objets et les sous objets dans la ligne et de les retourner. J'ai pu faire un peu les premieres lignes du programme mais je galère toujours . Voici mon programme :
package ganttdiagram;
import java.io.*;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author ABID
*/
public class GanttDiagram {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
FileInputStream in=null;
try {
in = new FileInputStream("C://Users//ABID//Documents//NetBeansProjects//GanttDiagram//M1.txt");
} catch (FileNotFoundException ex) {
Logger.getLogger(GanttDiagram.class.getName()).log(Level.SEVERE, null, ex);
}
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String s = br.readLine();
//comment déclarer jobs???
int sz_line = s.length();
s.split(",");
for (int i=0 ;i<sz_line;i++) {
String st = jobs[i];
String [] valeurs = st.split("-");
float Tdéb = st.parseFloat(valeurs[0]);
float Tfin =st.parseFloat(valeurs[1]);
String Etat = valeurs[2];
}
System.out.println("résultats" +s);
}
}
Merci d'avance
A voir également:
- Lire une ligne d'un fichier texte
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
3 réponses
Salut,
Il serait interessant d'avoir un exemple le plus complet possibe du contenu du fichier texte ...
merci
Il serait interessant d'avoir un exemple le plus complet possibe du contenu du fichier texte ...
merci
Oui voilà c'est des données d'une machine M1 : 0-5-V,5-12-A,12-15-D : sous la forme Temps début - Temps fin - Etat
Tu pourrais utiliser un Scanner en utilisant la virgule comme délimiteur :
Scanner sc = new Scanner(new File("C:/.../M1.txt")).useDelimiter(","); while (sc.hasNext()) { String[] valeurs = sc.next().split("-"); float tDeb = Float.parseFloat(valeurs[0]); float tFin = Float.parseFloat(valeurs[1]); String etat = valeurs[2]; // ... } sc.close();
Pareil, est-ce que tu aurais un exemple ? Parce que ce n'est pas très clair...
Ce qui donne :
String[] jobs = {"tata", "titi", "toto", "tutu"}; Scanner sc = new Scanner(new File("C:/.../M1.txt")); while (sc.hasNextLine()) { String[] tab = sc.nextLine().split(","); for (int i=0; i<tab.length && i<jobs.length; i++) { String job = jobs[i]; String[] valeurs = tab[i].split("-"); float tDeb = Float.parseFloat(valeurs[0]); float tFin = Float.parseFloat(valeurs[1]); String etat = valeurs[2]; System.out.println(job+"\t"+tDeb+"\t"+tFin+"\t"+etat); } } sc.close();
Ce qui donne :
tata 0.0 5.0 V titi 5.0 12.0 A toto 12.0 15.0 D
Le fichier est exactement comme suit :
0-5-V,5-12-A,12-15-D
Voilà le programme que je suis arrivé à éxécuter mais le gros problème c'est que j'ai du renseigner dans la boucle le nombre de jobs que j'ai. Y aura pas un moyen qui me comptera le nombre de jobs que j'ai et après je n'aurai qu'à renseigner ça dans la boucle ?
voici le programme :
public class GanttJobs {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
FileInputStream in=null;
try {
in = new FileInputStream("C://Users//ABID//Documents//NetBeansProjects//GanttDiagram//M1.txt");
} catch (FileNotFoundException ex) {
Logger.getLogger(GanttJobs.class.getName()).log(Level.SEVERE, null, ex);
}
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String s = br.readLine();
String jobs[]= s.split(",");
for (int i=0 ;i<3;i++) {
String st = jobs[i];
String [] valeurs = st.split("-");
//String[] Tdéb = jobs[0].split("-"); // A enlever !!!!
int Tdéb = Integer.parseInt(valeurs[0]);
int Tfin =Integer.parseInt(valeurs[1]);
String Etat = valeurs[2];
System.out.println("résultats" +jobs[i]);
}
}
}
0-5-V,5-12-A,12-15-D
Voilà le programme que je suis arrivé à éxécuter mais le gros problème c'est que j'ai du renseigner dans la boucle le nombre de jobs que j'ai. Y aura pas un moyen qui me comptera le nombre de jobs que j'ai et après je n'aurai qu'à renseigner ça dans la boucle ?
voici le programme :
public class GanttJobs {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
FileInputStream in=null;
try {
in = new FileInputStream("C://Users//ABID//Documents//NetBeansProjects//GanttDiagram//M1.txt");
} catch (FileNotFoundException ex) {
Logger.getLogger(GanttJobs.class.getName()).log(Level.SEVERE, null, ex);
}
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String s = br.readLine();
String jobs[]= s.split(",");
for (int i=0 ;i<3;i++) {
String st = jobs[i];
String [] valeurs = st.split("-");
//String[] Tdéb = jobs[0].split("-"); // A enlever !!!!
int Tdéb = Integer.parseInt(valeurs[0]);
int Tfin =Integer.parseInt(valeurs[1]);
String Etat = valeurs[2];
System.out.println("résultats" +jobs[i]);
}
}
}