Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2183 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Les fichiers en Java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Les fichiers en Java

n°1941600
El Norra A​lila
Posté le 17-11-2009 à 14:55:24  profilanswer
 

Bonjour,  
 
Je cherche une classe Java qui prend en argument deux noms de fichiers :  
 
La classe lit chaque ligne du premier fichier et la copie dans le second fichier, si la ligne contient un seul caractère suivi d'espaces, elle ne sera pas copiée.

mood
Publicité
Posté le 17-11-2009 à 14:55:24  profilanswer
 

n°1941604
kadreg
profil: Utilisateur
Posté le 17-11-2009 à 15:00:07  profilanswer
 

BufferedReader :o bonne idée de question de ton prof pour apprendre a faire des io propres en  java [:bien]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°1941606
El Norra A​lila
Posté le 17-11-2009 à 15:06:10  profilanswer
 

Peux-tu m'aider un peu plus ?
 
C'est ma première expérience avec les fichiers en Java !

n°1941610
Bidem
Posté le 17-11-2009 à 15:14:51  profilanswer
 

Tu créés un BudfferedReader pour lire ton fichier ligne à ligne et tu créés un BufferedWriter que tu utiliseras pour écrire les lignes dans le 2ème (après avoir testé la ligne bien entendu).

n°1941651
El Norra A​lila
Posté le 17-11-2009 à 16:37:50  profilanswer
 

Voici le code d'une classe qui permet de copier le contenu d'un fichier vers un autre :
 
import java.io.*;
 
public class Main {
 public static void main(String[] args) {
 BufferedInputStream bis;
        BufferedOutputStream bos;  
         
        try {
         bis = new BufferedInputStream(new FileInputStream(new File("test.txt" )));
            bos = new BufferedOutputStream(new FileOutputStream(new File("test3.txt" )));
                byte[] buf = new byte[8];
 
                while(bis.read(buf) != -1){
                 bos.write(buf);
                }
                System.out.println("Copie terminee" );
                 
                bis.close();
                 
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }      
    }
}
 
Sauf qu'ici, la copie se fait caractère par caractère, ce qui ne m'aide pas beaucoup, car je dois lire ligne par ligne. Quelqu'un aura-t-il la gentillesse de me donner son avis là-dessus ?

n°1941653
kadreg
profil: Utilisateur
Posté le 17-11-2009 à 16:40:11  profilanswer
 

il manque bos.close (), et le bis.close, mieux vaut le mettre dans un finally :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°1941655
El Norra A​lila
Posté le 17-11-2009 à 16:44:48  profilanswer
 

Merci de me le rappeler, j'ai oublié de copier le bos.close()

n°1941667
El Norra A​lila
Posté le 17-11-2009 à 17:17:25  profilanswer
 

Aucune autre suggestion ?

n°1941692
Bidem
Posté le 17-11-2009 à 17:50:35  profilanswer
 

Passe ta souris au dessus des mots BufferedReader et BufferedWriter de mon message précédent (les liens envoient vers la doc)
 
Mais sinon, le code que tu montres est un bon point de départ (l'esprit y est, il faut juste l'adapter à ton besoin)
 
Pour info, les BufferedReader/Writer sont très proches des BufferedInputStream/OutputStream, ce sont des classes qui font a peut près les mêmes choses sauf que les Reader/Writer sont spécialisés dans la manipulation des fichiers texte.
 
Ex : Lecture d'un fichier image => on utilise un InputStream
      Lecture d'un fichier texte  => on utilise un Reader


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Les fichiers en Java

 

Sujets relatifs
Lancer des fichiers java externes au programme[Résolu]java.util.zip ne pas avoir le chemin des fichiers
Container pour les noms de fichiers avec JAVAJava - fichiers - recherche
[Java / Servlet] Nom de fichiers french-like sous linux[Java] Parcourir tous les fichiers d'une URL
Explorateur de fichiers en java[Java J2EE Servlet] récupérer des fichiers inclus dans un war
Envoyer des fichiers sur un FTP depuis un programme Java...[JAVA] faire un diff entre 2 fichiers
Plus de sujets relatifs à : Les fichiers en Java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR