riderfun
Messages postés98Date d'inscriptionjeudi 8 février 2007StatutMembreDernière intervention11 janvier 2010
-
27 févr. 2009 à 16:16
riderfun
Messages postés98Date d'inscriptionjeudi 8 février 2007StatutMembreDernière intervention11 janvier 2010
-
2 mars 2009 à 14:34
Bonjour, je souhaiterai récupérer une partie d'un texte dans un fichier txt
qui se présente comme ça :
<hr />
tat admin tat Type Nom de l'interface
-------------------------------------------------------------------------
Activ‚ Connect‚ D‚di‚ Connexion au r‚seau local 2
Activ‚ D‚connect‚ D‚di‚ Connexion r‚seau sans fil
<hr />Et je voudrais récupérer les "Connexion au réseau local2" et "Connexion au réseau sans fil",
j'arrive à le récupérer et à l'afficher mais StringTokenizer me le découpe entièrement.
ce serait sympa si tu pouviez me donner quelques pistes...sachant que le fichier peut changer selon le pc sur lequel il se trouve...
Merci par avance.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 27 févr. 2009 à 18:09
Salut,
Et bien disont que tu as toujours 2 espaces entre l'avant dernière et la dernière colonne, ca donnerai un truc comme ceci (à adapter et corriger si nécessaire bien entendu) :
// lecture du fichier texte
try {
InputStream ips = new FileInputStream(fichier);
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
while ((ligne = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(ligne);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
riderfun
Messages postés98Date d'inscriptionjeudi 8 février 2007StatutMembreDernière intervention11 janvier 2010 27 févr. 2009 à 16:58
J'ai pensé remplir un tableau et après récupérer les données qui m'interressent mais je ne sais pas comment faire puis à savoir s'il n'y a pas une méthode plus simple...
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 27 févr. 2009 à 16:58
Salut,
Ton soucis est là : StringTokenizer st = new StringTokenizer(ligne);
Par défaut, le StringTokenizer va découper les espaces... pas ce que tu veux apparemment vu que c'est les tabulations que tu veux découper. Il te suffit de rajouter en argument la tabulation :
StringTokenizer st = new StringTokenizer(ligne, "\t");
______________________________________
DarK Sidious
riderfun
Messages postés98Date d'inscriptionjeudi 8 février 2007StatutMembreDernière intervention11 janvier 2010 27 févr. 2009 à 17:01
Merci mais ça me l'affiche comme si je n'avais pas fait de Tolenizer...ce que je veux c'est juste récupérer les chaines comme
: "Connexion au réseau local 2" et "Connexion au réseau sans fil"
riderfun
Messages postés98Date d'inscriptionjeudi 8 février 2007StatutMembreDernière intervention11 janvier 2010 2 mars 2009 à 14:00
Re,
j'ai un autre petit problème qui doit être tout bête là en fait j'ai reussis à faire ce que je voulais sauf qu'il reste un dernier petit truc:
public
class ReadFile {
public static void main(String[] args) {
// Création du fichier texte avec le batch
try {
final Runtime rt = Runtime. getRuntime ();rt.exec(
"interface.txt";
try {InputStream ips new FileInputStream(fichier);InputStreamReader ipsr new InputStreamReader(ips);BufferedReader br new BufferedReader(ipsr);String ligne br.readLine();
riderfun
Messages postés98Date d'inscriptionjeudi 8 février 2007StatutMembreDernière intervention11 janvier 2010 2 mars 2009 à 14:34
Ok j'ai trouvé c'est en fait qu'il doit être codé autrement je sais pas je l'ai récupérer dans mon fichier texte en copier coller et ça marche...alors que tapé directement du clavier...ben non enfin voila Merci encore!