IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Fin de fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Inscrit en
    Septembre 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 206
    Par défaut Fin de fichier
    Bonjour,

    Je début en Java et je doit faire une boucle qui lit un fichier jusqu'à la fin du fichier. Comment faire pour savoir que je suis à la fin du fichier ?

    Merci

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Estce que cela répond à ta question?

    Comment lire un fichier ligne par ligne ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Inscrit en
    Septembre 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 206
    Par défaut
    Non ça ne marche pas.

    Je ne sais pas si cela change quelque chose mais j'utilise la libraire itext pour remplir les champs d'un formulaire pdf. Étant donné que des champs peuvent être rajouté au pdf il faut que je puisse les remplir sans modifier le programme. Il doit marché autant pour 10 champs que pour 100.
    Et la seule solution à laquelle j'ai pensé c'est de chercher la fin du fichier...

    Merci

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Pourrais-tu montrer ton code avec lequel tu lis le fichier?

  5. #5
    Membre éclairé
    Homme Profil pro
    Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Inscrit en
    Septembre 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 206
    Par défaut
    Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    import java.io.FileOutputStream;
    import com.lowagie.text.pdf.AcroFields;
    import com.lowagie.text.pdf.PdfReader;
    import com.lowagie.text.pdf.PdfStamper;
     
    public class TestPDFformulaire {
    	public static void main(String args[]) {
    	String cont;
    	String type;
    	String num;
        	String champ;
        	String sourceFile = "C:\\Documents and Settings\\t0bmor\\Desktop\\CheckListe.pdf";
        	String targetFile = "C:\\Documents and Settings\\t0bmor\\Desktop\\Remplissage_test.pdf";
        	int i = 0;
            try {
                // we create a reader for a certain document
                PdfReader reader = new PdfReader(sourceFile);
                // create a new pdf document
                PdfStamper stamp1 = new PdfStamper(reader, new FileOutputStream(filePath));
                AcroFields form1 = stamp1.getAcroFields();
                //@SuppressWarnings("unused")
     
                while(stamp1.readLine() != null)
                {  
                	i++;
                	// Converti "i" en string
                	champ = Integer.toString(i);
     
                	// Récupère le contenu du premier champ
    	            cont = form1.getField(champ);
    	            System.out.println(cont);
    	            //Comparaison
    	            int comp3 = cont.compareTo("EDNSE1");
    	            int comp4 = cont.compareTo("EDLIBC");
     
    	            // Test
    	            if(comp3 == 0)
    	            {
    	            	form1.setField(champ, "Machine outil");
    	            }
    	            else if(comp4 == 0)
    	            {
    	            	form1.setField(champ, "Renault");
    	            }
    	            else
    	            {
    	            	// Copie tout ce qu'il y a avant '=' dans type
    		            type = cont.split("=")[0];
     
    		            // Comparaison
    		            int comp1 = type.compareTo("NCCODC");
    		            int comp2 = type.compareTo("NCNOMW");
     
    		            if(comp1 == 0 || comp2 ==0)
    		            {
    			            // Copie tout ce qu'il y a apres '=' dans num
    			            num = cont.split("=")[1];
     
    			            /* PLACER LA REQUETTE ICI */
     
    		            	// Rempli le champ "0"
    		            	form1.setField(champ, num);
    		            	// Récupère le contenu du champ
    		            	cont = form1.getField(champ);
    		            }
    	            }
                }
                stamp1.close();
               }
            catch (Exception de) {
                de.printStackTrace();
            }
    	}
    }

  6. #6
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int comp3 = cont.compareTo("EDNSE1");
    // Test
    if(comp3 == 0) {
        blabla
    }
    revient à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if("EDLIBC".equals(cont) {
        blabla
    }
    Ton problème n'est pas de détecter la fin du fichier mais d'être indépendant du nombre de champ si je comprend bien. form1 n'a pas de méthode getFields() qui renverrait une collection et que tu pourrais parcourir ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fin de fichier .. ???
    Par blackhorus dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 07/04/2005, 13h32
  2. Apposer le caractere de fin de fichier.
    Par moldavi dans le forum Windows
    Réponses: 2
    Dernier message: 17/02/2005, 14h20
  3. "error : fin de fichier inattendue" en C++
    Par mateo.14 dans le forum MFC
    Réponses: 9
    Dernier message: 28/01/2005, 09h30
  4. Réponses: 4
    Dernier message: 07/12/2004, 08h11
  5. Lire de la 2eme ligne à la fin du fichier
    Par iamspacy dans le forum Linux
    Réponses: 3
    Dernier message: 03/05/2004, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo