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

Java Discussion :

Parametre sur une même ligne


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 71
    Par défaut Parametre sur une même ligne
    Bonjour à tous, alors voilà j'ai besoin de vous pour me mettre sur la voie !
    Je vous explique, j'ai un programme java qui ouvre un fichier qui le lit et remplace un caractere par un autre (par exemple tout les "a" par des "b"), à coté j'ai un fichier .ini dans le quel on choisis le chemin du fichier d'entré, le chemin du fichier de sortie, le caractere d'entré(à remplacer) et le caractere de sortie (le remplacent). Grace à un script batch je lis ce fichier .ini je récupere les valeurs des parametre et j'execute le programme java avec les parametres.

    Tout fonctionne bien !

    Mais maintenant on ma demandé de pouvoir remplacer plusieurs parametre et n'avoir en gros qu'une seule ligne dans la quelle je metterais tout les caracteres que je veux remplacer et ceux qui les remplaces.

    En gros dans le fichier .ini avoir une ligne avec :

    ¤~¤caractereIn1¤caractereOut1¤~¤caractereIn2¤caractereOut2¤~¤caractereIn3¤caractereOut3

    ¤~¤ = séparateur pour les différents caracteres à changer
    ¤ = séparateur entre le caractere entré et sortie

    Voilà je rame un peu, si vous avez des conseils pour me mettre sur la voie ! merci !

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 71
    Par défaut
    Je vous met les code de mes scripts si sa peut aider

    script java :

    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
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Scanner;
     
    public class programme2 {
     
    	public static void main(String[] parametre) throws IOException {
     
    		String cheminIn = parametre[0];
    		String cheminOut = parametre[1];
    		String caractereIn = parametre[2];
    		String caractereOut = parametre[3];
     
    		Scanner scanner=new Scanner(new File(cheminIn));
     
    		FileWriter writer = null;
    		writer = new FileWriter(cheminOut, false);
     
    		//Lecture du fichier
    		while (scanner.hasNextLine()) {
    		    String line = scanner.nextLine();
    		    //Remplace les caractères
    		    line=line.replaceAll(caractereIn, caractereOut);
     
    		    //Ecriture dans le nouveau fichier
    		    String texte = line+System.getProperty("line.separator");
    		    try{
    		         writer.write(texte,0,texte.length());
    		    }catch(IOException ex){
    		        ex.printStackTrace();
    		    }
    		} 
    		writer.close();
    		scanner.close();    
    	}
    }

    script batch :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    for /f "tokens=1,2 delims==" %%I in ('type donneeFichier.ini') do SET %%I=%%J
     
    ::vérification
    echo %cheminIn%
    echo %cheminOut%
    echo %parametreIn%
    echo %parametreOut%
     
    "C:\Program Files\Java\jdk1.7.0_04\bin\java.exe" programme2 %cheminIn% %cheminOut% %parametreIn% %parametreOut%
    fichier .ini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cheminIN=C:\personne.txt
    cheminOut=C:\test.txt
    parametreIn=\t
    parametreOut=;
    Merci d'avance !!

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 251
    Par défaut
    Ce type de problèmes peut être résolu par les expressions régulières.
    Regarde la classe java.util.regex.Pattern pour la définition de l'expression régulière et la méthode replaceAll(String regex, String replacement) de la classe java.lang.String.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 71
    Par défaut
    Ok, merci beaucoup je vais aller regarder tout sa ! merci

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 71
    Par défaut
    J'ai une petite questions, avec la methode replaceAll()
    Est ce que c'est possible d'avoir replaceAll("a" "b" "c" , "z" "e" "r")

    Et que les a soit remplacé par des z, les b par des e et les c par des r (j'ai un peu regarder la calsse pattern avec les expressions réguliere je pense pouvoir réussir a isoler les entrée et sortie, je cherche encore (je suis encore novice^^)

    Merci

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 251
    Par défaut
    Je ne penses pas que tu puisses le faire directement avec la méthode replaceAll, il te faudra probablement passer par la classe Matcher (find, group).
    Un exemple en français sur ce lien

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

Discussions similaires

  1. Voir tout les onglets sur une même ligne
    Par bnreb10 dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/08/2006, 11h08
  2. Décalage sur une même ligne
    Par lodan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 03/08/2006, 18h24
  3. Commandes shell sur une même ligne
    Par Asdorve dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 13/06/2006, 16h50
  4. Aligner du texte à gauche et à droite sur une même ligne ?
    Par pontus21 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/04/2005, 11h25
  5. 2 éléments sur une même ligne
    Par ben_iap dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/11/2004, 17h27

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