Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/03/2010, à 01:50

rwikus090

lire les fichier en java

bonjour
voila j'aimerai savoir comment je fais pour lire un fichier ".csv" en java, je sais que pour un fichier ".txt" on utilise les flux d'entrée InputStream, mais sa ne marche pas avec le type de fichier que je veux utiliser

merci de bien vouloir m'aider

Hors ligne

#2 Le 05/03/2010, à 02:22

kyncani

Re : lire les fichier en java

Un fichier csv est un fichier texte. Donc je ne sais pas ce que tu fais mais ça devrait marcher.
Si tu as du mal à lire des fichiers texte, peut-être devrais-tu regarder /home/kyncani/share/Java/tutorial/index.html, section basic input/output.

Hors ligne

#3 Le 05/03/2010, à 02:54

rwikus090

Re : lire les fichier en java

comment sa un fichier .csv est un fichier .txt
ya bien ecrit "fichier.csv",,,,,,,
non je n'ai aucun probléme a lire les fichier texte donc ya pas de différence malgré que le format est différent?

Hors ligne

#4 Le 05/03/2010, à 03:04

kyncani

Re : lire les fichier en java

rwikus090 a écrit :

comment sa un fichier .csv est un fichier .txt

Wikipedia, csv : http://fr.wikipedia.org/wiki/Comma-separated_values

-> Un fichier CSV est un fichier texte (par opposition aux formats dit « binaires »). Chaque ligne correspond à une rangée du tableau et les cellules d'une même rangée sont séparées par une virgule.

Dernière modification par kyncani (Le 05/03/2010, à 03:05)

Hors ligne

#5 Le 05/03/2010, à 18:19

rwikus090

Re : lire les fichier en java

et donc il est d'extension ".txt"???

Hors ligne

#6 Le 05/03/2010, à 18:29

slasher-fun

Re : lire les fichier en java

Bah non puisque c'est un .csv

Hors ligne

#7 Le 05/03/2010, à 18:30

seb0uil

Re : lire les fichier en java

rwikus090 a écrit :

et donc il est d'extension ".txt"???

Salut,
c'est quoi pour toi un fichier texte ?
Un fichier texte peut avoir toutes les extensions du monde
exemple:

echo "c est un fichier texte" > /tmp/truc.bin

va te créer un fichier /tmp/truc.bin qui est pourtant un fichier texte (mais qui n'a pas l'extension .txt)


Java stuff ::
tPortal.. ma petite implémentation de la JSR168
jlibParam.. pooling, paramétrage etc...

Hors ligne

#8 Le 05/03/2010, à 20:10

rwikus090

Re : lire les fichier en java

donc l'extension ne définit pas vrément le type du fichier

Hors ligne

#9 Le 05/03/2010, à 21:49

kyncani

Re : lire les fichier en java

Non. Pour savoir quel genre de données contient un fichier, ouvre une console et tape "file /le/nom/du/fichier".

Hors ligne

#10 Le 06/03/2010, à 13:19

rwikus090

Re : lire les fichier en java

okkk merci pour votre aide

Hors ligne

#11 Le 06/03/2010, à 22:54

rwikus090

Re : lire les fichier en java

mais j'ai aussi un probléme avec les fichier ".bin"
normalement on utilise un "DataInputStream" pour ouvrir le flux de lecture seulement voila malgré l'utilisation de cet objet il me sors toujours les chiffre "1" et "0" en ascii, je suis allé tester sur un fichier texte en ne mettant que des nombres, il me les met en "ascii" voila le code:

DataInputStream dis= new DataInputStream(new BufferedInputStream(new FileInputStream(new File("fichier.txt"))));
        byte[] buf = new byte[10];

        while(dis.read(buf)!=-1){
            for(int i=0;i<10;i++)
                System.out.print((int)buf[i]+" ");


merci de bien vouloir m'aider

Hors ligne

#12 Le 06/03/2010, à 22:55

gilbert

Re : lire les fichier en java

Salut,

je ne fais pas de java, mais un truc m'interpelles ou alors j'ai pas bien compris ce que tu racontes.

Dans ton fichier, les nombres que tu as écrit, ce sont des caractères ascii. Alors c'est normal que ça te retourne de l'ascii non ? :-)


Simplement moi-même..

Hors ligne

#13 Le 06/03/2010, à 23:08

rwikus090

Re : lire les fichier en java

et comment je fais pour les récupérer en nombre,,,a quoi sa sert alors d'utiliser l'objet "DataInputStream" vu qu'il est utilisé pour récupérer des int,byte,short....ect

Hors ligne

#14 Le 07/03/2010, à 00:50

gilbert

Re : lire les fichier en java

À mon avis, mais là encore peut-être que je me trompe je ne fais pas de java, tu utilises la mauvaise méthode.. les caractères sont des bytes et la méthode read retourne des bytes.. donc tu affiches des bytes..

selon : http://java.sun.com/j2se/1.4.2/docs/api … tream.html

essaie d'utiliser readInt..


Simplement moi-même..

Hors ligne

#15 Le 07/03/2010, à 01:04

rwikus090

Re : lire les fichier en java

j'ai essayé sa:
this.dis= new DataInputStream(
                new BufferedInputStream(
                        new FileInputStream(
                                new File("youyou.txt"))));
        char x=(char)dis.readByte();

sa fonctionne mais si je fais:
int x=(int) dis.readByte(); ben sa marche pas

Hors ligne

#16 Le 07/03/2010, à 02:27

kyncani

Re : lire les fichier en java

Si les données sont encodées en ascii, une conversion binaire n'est certainement pas appropriée. Et DataInputStream n'est peut-être pas la meilleure méthode (ceci dit, jamais fait ce genre de truc en java).

Si les données sont encodées en ascii, il faut une conversion de type ascii->integer (genre new Integer(String)). Ca veut dire disposer des données en ascii. Peut-être un lecture du fichier comme étant un fichier texte serait plus appropriée ?

Hors ligne

#17 Le 07/03/2010, à 02:31

rwikus090

Re : lire les fichier en java

ahh je crois que c'est bon, non en faite moi au tout début mon but est de lire un fichier ".bin", et je voulais tester d'abord un fichier ".txt" pour voir si je peux récupérer les nombre directement, mais je voie que dans le fichier bin sa marche et que dans le fichier texte effectivement faut faire une conversion ascii-int

Hors ligne

#18 Le 07/03/2010, à 02:33

rwikus090

Re : lire les fichier en java

je voudrais savoir "un fichier .bin" peut contenir des nombre décimaux ou ne contient que des binaire "1" et "0"
parce que lorsque j'ai fait un DataInputStream et que j'ai lu avec un readByte, sa ma sorti des nombre en système décimal

Hors ligne

#19 Le 07/03/2010, à 12:20

rwikus090

Re : lire les fichier en java

et aussi j'ai vu que sur les méthodes qui étaient associées à DataInputStream, aucune ne permettais de sauter une ligne ou par exemple si y'a une série comme celle ci
"0 0 1", si je lis le premier "0" je veut sauter directement aux "1"

si vous pouvez m'aider merci.

Dernière modification par rwikus090 (Le 07/03/2010, à 12:21)

Hors ligne

#20 Le 07/03/2010, à 17:36

gilbert

Re : lire les fichier en java

salut,

pour ta question concernant les fichiers binaires, leur contenu est, comme tu le nommes explicitement : du binaire. Après, ce binaire peut représenter ce que tu veux.. C'est à toi de savoir ce que tu lis.. Tout type de données est codé en binaire, que ce soit des nombres décimaux, du texte, ou quoi que ce soit d'autre. C'est pour ça que tu as plusieurs méthodes dans ton objet DataInputStream qui te permettent d'en extraire des entiers, des flottants, etc..

Donc si tu ne sais pas ce que contient ton fichier binaire, tu peux en extraire tout et n'importe quoi.. ça dépend comment tu l'interprètes.


Simplement moi-même..

Hors ligne

#21 Le 07/03/2010, à 17:38

rwikus090

Re : lire les fichier en java

d'accord, je vous remercie

Hors ligne