Fichier en java

Résolu
deazure Messages postés 21 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 10 mars 2013 - 10 nov. 2009 à 16:16
deazure Messages postés 21 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 10 mars 2013 - 16 nov. 2009 à 11:07
slt je veux ecrire un programme java qui affiche le contenu d'un fichier .
ce contenu doit s'afficher par rapport a la ligne saisie.
c'est a dire si je saisie le numero ligne : 2 il doit afficher toutes les info de la ligne 2

merci de votre attention


etre bon programmer

8 réponses

ouabida10 Messages postés 57 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 9 janvier 2011 1
11 nov. 2009 à 00:00
salut vous pouvez stocker le contenu de fichier dans un vector
chaque ligne dans une case et pour l'affichage afficher suite a l'index de
vectore c'est-a-dire la ligne 1 de fichier c'est la case 0 de vectore
on générale vectore.getIndex(num_saisie-1)
bon courage...
3
deazure Messages postés 21 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 10 mars 2013
12 nov. 2009 à 10:27
merci pour cette information je vais l'essayer.
mais au lieu du vector j'ai utilise un tableau et quand je l'execute il m'affiche un message d'erreur que voici:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at procedure.Main.main(Main.java:45)


et voici le code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package procedure;
import java.io.*;
import javax.swing.*;
import java.lang.ArrayIndexOutOfBoundsException.*;

/**
*
* @author deazure
*/
public class Main {


/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException
{
String nomfich ;
String n;
int num,numo=0;
String myLine;
int i=0;
String t[];
RandomAccessFile entree;
System.out.print ("donnez le nom du fichier a consulter : ") ;
nomfich = Clavier.lireString() ;




entree = new RandomAccessFile (nomfich, "r") ;

t=new String[i];

//num=1;
while (((myLine= entree.readLine()) != null))
{

i=i++;
t[i]=myLine= entree.readLine();

// System.out.println("Ligne : "+myLine);
// num++;

}



}


}
0
ouabida10 Messages postés 57 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 9 janvier 2011 1
12 nov. 2009 à 16:52
salut
le probléme c'est que votre table a un démention égale a 0 ----t=new String[i];
d'autre coté il faut utiliser un vector on supose qu'on sais pas le nombre de ligne a stocker
un vector c'est un table dinamique...tu vois...

posé la question si vous avez des probléme......bon courage
0
deazure Messages postés 21 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 10 mars 2013
12 nov. 2009 à 18:39
merci ouabida j'ai suivi ton conseil avec les vectors et ca marche
mais le hic se trouve au niveau de la fonction Do ..while;

package procedure;
import java.io.*;
import javax.swing.*;
import java.lang.ArrayIndexOutOfBoundsException.*;
import java.util.*;
/**
*
* @author deazure
*/
public class Main {


/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException
{
String nomfich ;
String n;
int num,numo=0;
String myLine;
String verif;
int i=0;

String text;
System.out.print ("donnez le nom du fichier a consulter : ") ;
nomfich = Clavier.lireString() ;
Vector veclist = new Vector();
RandomAccessFile entree;
entree = new RandomAccessFile (nomfich, "r") ;
while (((verif= entree.readLine()) != null))
{
veclist.insertElementAt(verif, i);
int itest=i++;
}
do
{
System.out.println("saisir le numero d'une ligne");
int numline=Clavier.lireInt();
System.out.println( veclist.get(numline));

}
while(numline <= veclist.setSize(i));

}

ce que je comprend pas c'est le numline qui se trouve dans dernier while il me met que ce type est invalide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ouabida10 Messages postés 57 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 9 janvier 2011 1
12 nov. 2009 à 21:48
salut mon ami
voila un exemple qui marche trés bien qui li un fichier nommé "test.txt"
et que se trouve a l'emplacement c:\\
spicialement pour vous .......bon courage

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Scanner;
import java.util.Vector;

/**
 *
 * @author abdo
 */
public class Deazure {

    public static void main(String[]arg){

            try{
                Scanner sc=new Scanner(System.in);
                String rep=" ";
                Vector V=new Vector();
        FileReader fr=new FileReader("c:\\test.txt");
         BufferedReader br= new BufferedReader(fr);
            String ligne="";
            while(br.ready()) {
                String s=br.readLine();
                V.add(s);
            }
    System.out.println("votre fichier contien "+V.size()+" lignes");
            while(!rep.equals("n")){
           System.out.println("tapez le numéros de ligne a afficher :");
                System.out.println(V.get(sc.nextInt()));
                System.out.println("pour continuer taper 'o' et por quitter taper 'n'");
                rep=sc.next();
            }

             System.out.println("A bentot..mon ami");

    } catch(Exception re){
    }
    }
}
0
deazure Messages postés 21 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 10 mars 2013
13 nov. 2009 à 11:14
Merci de ton aide. cela ma ete d'une grande utilite on garde le contact
une fois encore Merci
0
ouabida10 Messages postés 57 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 9 janvier 2011 1
13 nov. 2009 à 21:31
bon courage mon ami...
0
deazure Messages postés 21 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 10 mars 2013
16 nov. 2009 à 11:07
ca va aller tu sait je veux me consacre a java et C. je sais la route est longue et penible mais ce qui me reconforte c'est que c'est passionnant.
si tu a des conseils je serais ravi


etre bon programmer
0
Rejoignez-nous