OVH Cloud OVH Cloud

nombres "d'enregistrement" dans un fichier texte

4 réponses
Avatar
koni
Bonjour,

Je développe une petite application pour débuter en Java.
Cette application est un constitué d'un label et d'une JList pour
le moment. Je veux alimenter ma JList plus ou moins dynamiquement
à partir d'un fichier texte, ou une ligne correspond à une ligne
dans mon composant JList.

J'utilise un BufferedReader pour lire le fichier et donc
remplir un tableau maListe[]. Ce qui me chagrine c'est que je suis
obligé de donner une taille à ce tableau initial sans connaitre le
nombre de ligne dans le fichier, donc le nombre d'enregistrement qu'il
y aura dans ma liste. Donc la question est comment connaitre le
nombre de ligne de mon fichier avant de faire le remplissage d'un
tableau nécessaire à ma JList.

Merci de votre aide,
koni

4 réponses

Avatar
guillespie
hello,

quand tu penses 'dynamique' en java ne le fait pas a moitie !!!

typiquement prend exemple sur les createurs du langage, qui ont pense objets
et qui l'ont fait de a a z.

si je dis cela, c'est ke pour ton k, il te suffit d'utilser un Vector au
lieu d'un tableau pour maliste()

je ne t'en dis pas plus, a toi de te renseigner un peu sur les Vector,

et au trot!! ;)


bon courage.

BANZAÏÏÏÏ !!!
Avatar
flipouk
Il faut utiliser un vector. Par exemple :

--- --- --- --- --- --- --- --- --- ---

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

public class ReadAFileWithVector
{
public static void main (String[] args)
{
try
{
if (args.length == 0)
{
System.out.println(
"Please supply an ASCII file name as argument");
System.exit(0);
}
String fileName = args[0];

File file = new File(fileName);
Vector lines = new Vector();
BufferedReader buffer new BufferedReader(new FileReader(file));
String line = "";
while((line = buffer.readLine()) != null)
{
// Fill the vector with line
lines.addElement(line);
}

// How many lines in the file?
int sizeOfLines = lines.size();
System.out.println("The file "" +
fileName + "" has " +
sizeOfLines + " lines.");
}
catch (IOException e)
{
System.out.println("There is a problem. Exiting...");
System.exit(1);
}
}
}

--- --- --- --- --- --- --- --- --- ---

koni wrote:
Bonjour,

Je développe une petite application pour débuter en Java.
Cette application est un constitué d'un label et d'une JList pour
le moment. Je veux alimenter ma JList plus ou moins dynamiquement
à partir d'un fichier texte, ou une ligne correspond à une ligne
dans mon composant JList.

J'utilise un BufferedReader pour lire le fichier et donc
remplir un tableau maListe[]. Ce qui me chagrine c'est que je suis
obligé de donner une taille à ce tableau initial sans connaitre le
nombre de ligne dans le fichier, donc le nombre d'enregistrement qu'il
y aura dans ma liste. Donc la question est comment connaitre le
nombre de ligne de mon fichier avant de faire le remplissage d'un
tableau nécessaire à ma JList.

Merci de votre aide,
koni



Avatar
koni
Merci les vector apporte la solution ...
Sans votre aide je n'y aurais jamais pensé ...

koni

Il faut utiliser un vector. Par exemple :

--- --- --- --- --- --- --- --- --- ---

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

public class ReadAFileWithVector
{
public static void main (String[] args)
{
try
{
if (args.length == 0)
{
System.out.println(
"Please supply an ASCII file name as argument");
System.exit(0);
}
String fileName = args[0];

File file = new File(fileName);
Vector lines = new Vector();
BufferedReader buffer > new BufferedReader(new FileReader(file));
String line = "";
while((line = buffer.readLine()) != null)
{
// Fill the vector with line
lines.addElement(line);
}

// How many lines in the file?
int sizeOfLines = lines.size();
System.out.println("The file "" +
fileName + "" has " +
sizeOfLines + " lines.");
}
catch (IOException e)
{
System.out.println("There is a problem. Exiting...");
System.exit(1);
}
}
}

--- --- --- --- --- --- --- --- --- ---

koni wrote:

Bonjour,

Je développe une petite application pour débuter en Java.
Cette application est un constitué d'un label et d'une JList pour
le moment. Je veux alimenter ma JList plus ou moins dynamiquement
à partir d'un fichier texte, ou une ligne correspond à une ligne
dans mon composant JList.

J'utilise un BufferedReader pour lire le fichier et donc
remplir un tableau maListe[]. Ce qui me chagrine c'est que je suis
obligé de donner une taille à ce tableau initial sans connaitre le
nombre de ligne dans le fichier, donc le nombre d'enregistrement qu'il
y aura dans ma liste. Donc la question est comment connaitre le
nombre de ligne de mon fichier avant de faire le remplissage d'un
tableau nécessaire à ma JList.

Merci de votre aide,
koni






Avatar
samuel
et utiliser un vecteur au lieu d'un tableau ?

rem : tu pourra toujours transfomer ton vecteur en tableau si tu veux
absolument un tableau..

je crains qu'il soit necessaire de 'lire' le fichier en entier avant de
connaitre le nombre de lignes... a condition de compter les sauts de
ligne... bof quoi..

autre soluce :
la premiere ligne de ton fichier te renseigne sur le nombre de ligne
qu'il contient...
par exemple :
# nb_lignes = 125
ligne1
ligne2
...
ligne125

mais c'est bof aussi...





koni wrote:

Bonjour,

Je développe une petite application pour débuter en Java.
Cette application est un constitué d'un label et d'une JList pour
le moment. Je veux alimenter ma JList plus ou moins dynamiquement
à partir d'un fichier texte, ou une ligne correspond à une ligne
dans mon composant JList.

J'utilise un BufferedReader pour lire le fichier et donc
remplir un tableau maListe[]. Ce qui me chagrine c'est que je suis
obligé de donner une taille à ce tableau initial sans connaitre le
nombre de ligne dans le fichier, donc le nombre d'enregistrement qu'il
y aura dans ma liste. Donc la question est comment connaitre le
nombre de ligne de mon fichier avant de faire le remplissage d'un
tableau nécessaire à ma JList.

Merci de votre aide,
koni