next up previous contents
suivant: flots d'Object monter: StreamTokenizer précédent: StreamTokenizer   Table des matières

Lecture écriture formatée

On peut aussi lire et écrire suivant un format ``localisé'' des nombres et des chaînes. On définit pour cela un format qui utilise un mécanisme de substitution, un peu comme pour les scanf/printf de C.



transparent
Lecture écriture locales


import java.io.*;
import java.text.*;
import java.util.*;
import java.lang.*;
// un essai sur les entrées sorties formatées:
// MessageFormat ressemle aux formats du C
//     format(args) permet d'afficher suivant le format spécifié
//     (args est un tableau d'objets)
//     en définissant un tableau de formats
//     parse affecte un tableau d'objets


transparent
Locale


  public class FormatLocal {
  public static void main(String [] arg){
    Locale loc= Locale.FRENCH;
    MessageFormat mf= new MessageFormat("un nombre {0} et un réel {1}");
    mf.setLocale(loc);
    Object args[]={new Integer(1988), new Double(3.14)};
    String str= mf.format(args); System.out.println(str);
    mf= new MessageFormat(" {0} {1}");
    Format [] format = new Format [] {
        NumberFormat.getInstance(loc),      
        NumberFormat.getInstance(loc),
        };
    mf.setFormats(format);
    args=mf.parse(" 123 3,14",(new ParsePosition(0)));
    System.out.println(args[0]); System.out.println(args[1]);
  }
}




Hugues Fauconnier 2002-01-11