Les Allergies
Alimentaires
Posez votre question Signaler

Lire un fichier texte en java [Résolu/Fermé]

Nathalie - Dernière réponse le 23 juil. 2008 à 13:00
Salut !
je voudrai lire un fichier texte ligne par ligne en java mais je ne sais pas comment faire.
Merci d'avance

Nathalie
Lire la suite 

Lire un fichier texte en java »

6 réponses
Réponse
+164
moins plus
salut,

un petit exemple :


import java.io.*;

public class ReadFile {
	public static void main(String[] args){
		String chaine="";
		String fichier ="fichiertexte.txt";
		
		//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){
				System.out.println(ligne);
				chaine+=ligne+"\n";
			}
			br.close(); 
		}		
		catch (Exception e){
			System.out.println(e.toString());
		}
	
		//création ou ajout dans le fichier texte
		try {
			FileWriter fw = new FileWriter (fichier);
			BufferedWriter bw = new BufferedWriter (fw);
			PrintWriter fichierSortie = new PrintWriter (bw); 
				fichierSortie.println (chaine+"\n test de lecture et écriture !!"); 
			fichierSortie.close();
			System.out.println("Le fichier " + fichier + " a été créé!"); 
		}
		catch (Exception e){
			System.out.println(e.toString());
		}		
	}
}



Il y a déjà eu des réponses mais je n'arrive pas à trouver le post ...

arrrff
lof.

Réponse
+26
moins plus
le code ci dessous permet de lire un fichier, et de l'afficher, le fichier doit être à la racine de ton projet

public void affiche() throws IOException {
		String ligne = "";
		String fichier = "";
		BufferedReader clavier = new BufferedReader(new InputStreamReader(
				System.in));

		System.out.println("Quel est le nom de votre fichier ?");
		fichier = clavier.readLine();
		BufferedReader ficTexte;
		try {
			ficTexte = new BufferedReader(new FileReader(new File(fichier)));
			if (ficTexte == null) {
				throw new FileNotFoundException("Fichier non trouvé: "
						+ fichier);
			}
			do {
				ligne = ficTexte.readLine();
				if (ligne != null) {
					System.out.println(ligne);
				}
			} while (ficTexte != null);
			ficTexte.close();
			System.out.println("\n");
		} catch (FileNotFoundException e) {
			System.out.println(e.getMessage());
		} catch (IOException e) {
			System.out.println(e.getMessage());
		}

	}

Réponse
+9
moins plus
PS

Tu peux l'essayer avec ceci :


import java.io.*;


public class tatatititoto

{

public static void affiche() //throws IOException

{
String ligne = "";
String fichier = "";

String ligne_a_trouver = ""; // <<<<<<<<<<<<<<<<<<<<< ajouter
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(
System.in));

System.out.println("Quel est le nom de votre fichier ?"); // AVEC L'EXTENSION .txt
fichier = clavier.readLine();

System.out.println("Ligne a chercher"); // par ex. tata titi toto <<<<<<<<<<<<<<<<<<<<< ajouter
ligne_a_trouver = clavier.readLine(); // <<<<<<<<<<<<<<<<<<<<< ajouter BufferedReader ficTexte;
// try {
ficTexte = new BufferedReader(new FileReader(new File(fichier)));
if (ficTexte == null) {
throw new FileNotFoundException("Fichier non trouvé: "
+ fichier);
}
do {
ligne = ficTexte.readLine();
if (ligne != null) {
if (ligne.equals(ligne_a_trouver)) // <<<<<<<<<<<<<<<<<<<<< ajouter
{ // <<<<<<<<<<<<<<<<<<<<< ajouter
System.out.println(ligne);
break; // <<<<<<<<<<<<<<<<<<<<< ajouter
} // <<<<<<<<<<<<<<<<<<<<< ajouter
}
} while (ficTexte != null);
if (ligne.equals(ligne_a_trouver)) // <<<<<<<<<<<<<<<<<<<<< ajouter
System.out.println("Trouve !"); // <<<<<<<<<<<<<<<<<<<<< ajouter
else // <<<<<<<<<<<<<<<<<<<<< ajouter
System.out.println("Non trouve !"); // <<<<<<<<<<<<<<<<<<<<< ajouter
ficTexte.close();
System.out.println("\n");
}

catch (FileNotFoundException e) {

System.out.println(e.getMessage());
}

catch (IOException e) {

System.out.println(e.getMessage());
}
}

public static void main (String[] args)

{
affiche();
System.exit(0);
}
}

Réponse
+9
moins plus
Salut.

Aulieu d'entrer un texte, tu demandes et entres un no de ligne :

int ctr = 0;

il faut convertir le String ligne_a_trouver en int : int nligne = Integer.parseInt(ligne_a_trouver);

puis a chaque lecture ctr++;

if (ctr == nligne ) c'est ok




int ctr = 0; // <<<<<<<<< ajouter
System.out.println("Ligne a chercher"); // un no
ligne_a_trouver = clavier.readLine();
BufferedReader ficTexte;
try // <<<<<<<<< ajouter
{ // <<<<<<<<< ajouter
int nligne = Integer.parseInt(ligne_a_trouver); // <<<<<<<<< ajouter
} // <<<<<<<<< ajouter
catch (IOException e)
{ // <<<<<<<<< ajouter
System.out.println(e.getMessage()); // entree non numerique // <<<<<<<<< ajouter
// voir que faire dans ce cas // <<<<<<<<< ajouter
} // <<<<<<<<< ajouter

// try {
ficTexte = new BufferedReader(new FileReader(new File(fichier)));
if (ficTexte == null) {
throw new FileNotFoundException("Fichier non trouvé: "
+ fichier);
}
do {
ligne = ficTexte.readLine();
if (ligne != null) {
ctr++; // <<<<<<<<< ajouter
//if (ligne.equals(ligne_a_trouver)) // <<<<<<<<<<<<<<<­<<<<<< remplacer
if (ctr == nligne ) // <<<<<<<<< ajouter
{
System.out.println(ligne);
break;
}
}
} while (ficTexte != null);
//if (ligne.equals(ligne_a_trouver)) // <<<<<<<<<<<<<<<­<<<<<< remplacer
if (ctr == nligne ) // <<<<<<<<< ajouter
System.out.println("Trouve !");
else
System.out.println("Non trouve la ligne n'existe pas !");

Quelque chose comme ca.

Cordialement.

Dan

Réponse
+3
moins plus
quelques petites modifications :


try // <<<<<<<<< ajouter
{ // <<<<<<<<< ajouter
int nligne = Integer.parseInt(ligne_a_trouver); // <<<<<<<<< ajouter
} // <<<<<<<<< ajouter
catch (IOException e)
{ // <<<<<<<<< ajouter
System.out.println(e.getMessage()); // entree non numerique // <<<<<<<<< ajouter
// voir que faire dans ce cas // <<<<<<<<< ajouter
} // <<<<<<<<< ajouter

a remplacer par

int nligne = 0; // <<<<<<<<<<<<<<<
try
{
nligne = Integer.parseInt(ligne_a_trouver); // <<<<<<<<<<<<<<<
}
catch (NumberFormatException e) // <<<<<<<<<<<<<<<
{
System.out.println(e.getMessage()); // entree non numerique
// voir que faire dans ce cas
}

TitiRani - 23 juil. 2008 à 13:00
Merci beaucoup danimo j'aurais mis un temps fou à trouver ça tout seul surtout à mon niveau.
J'ai presque réussi à faire ce que je voulais faire. Je vais essayer de trouver ce qui me reste tout seul :) comme un grand.

Encore Merci et surtout pour la rapidité de tes réponses;)
Bonne journée à toi
Ce document intitulé « lire un fichier texte en java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?