//Environnement d'exécution d'une classe Java /** Environnement.java Environnement d'un programme java Paramètres de la méthode 'main' // 1. Les paramètres reçus depuis la commande // 2. L'environnement // 3. Quelques valeurs (rép.courant, rép.d'accueil ...) // 4. Fontes et capacité de gestion d'images // 5. Et en plus: taille écran, bip Utilisation de Properties Utilisation de Enumeration Quelques propriétés : line.separator= path.separator=; file.separator=\ file.encoding.pkg=sun.io sun.os.patch.level= A user.home=C:\WINDOWS user.dir=D:\Perso\ROGER\langage\java\nb user.name=roger user.country=FR user.timezone= user.language=fr user.variant= java.class.path=. java.library.path=C:\WINDOWS;.;C:\WINDOWS\SYSTEM;C:\WIN... java.home=C:\PROGRAM FILES\JAVA\J2RE1.4.2_06 java.ext.dirs=C:\PROGRAM FILES\JAVA\J2RE1.4.2_06\li... java.io.tmpdir=C:\WINDOWS\TEMP\ java.runtime.version=1.4.2_06-b03 sun.boot.class.path=C:\PROGRAM FILES\JAVA\J2RE1.4.2_06\li... java.version=1.4.2_06 java.runtime.name=Java(TM) 2 Runtime Environment, Stand... sun.boot.library.path=C:\PROGRAM FILES\JAVA\J2RE1.4.2_06\bin java.vm.version=1.4.2_06-b03 java.vm.name=Java HotSpot(TM) Client VM java.vm.vendor=Sun Microsystems Inc. java.vm.specification.name=Java Virtual Machine Specification java.vendor.url=http://java.sun.com/ java.vm.specification.vendor=Sun Microsystems Inc. java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment java.endorsed.dirs=C:\PROGRAM FILES\JAVA\J2RE1.4.2_06\li... os.version=4.10 os.arch=x86 sun.cpu.isalist=pentium i486 i386 os.name=Windows 98 sun.java2d.fontpath= java.specification.name=Java Platform API Specification java.class.version=48.0 java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFac... java.awt.printerjob=sun.awt.windows.WPrinterJob file.encoding=Cp1252 java.specification.version=1.4 java.vm.specification.version=1.0 sun.arch.data.model=32 java.specification.vendor=Sun Microsystems Inc. awt.toolkit=sun.awt.windows.WToolkit java.vm.info=mixed mode java.vendor=Sun Microsystems Inc. java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport... sun.cpu.endian=little sun.io.unicode.encoding=UnicodeLittle Roger Astier * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ import java.util.Properties; import java.util.Enumeration; import javax.imageio.ImageIO; import java.io.IOException; import java.awt.Toolkit; import java.awt.Dimension; public class Environnement { public Environnement() { } public static void main(String mots[]) { // 1. Les paramètres reçus depuis la commande // ------------------------------------------ System.out.println("Les paramètres reçus"); int nm; for(nm=0; nm<mots.length; nm++) System.out.println(" "+mots[nm]); System.out.println("\n"+nm+" paramètres"); // 2. L'environnement // ------------------ Properties p = System.getProperties(); // p.list(System.out); // tout l'environnement en bloc Enumeration e=p.propertyNames(); int ne; System.out.println("Propriétés de la machine virtuelle "); for(ne=0; e.hasMoreElements(); ne++) { if(ne%4==0) System.out.println(""); System.out.print(" "+e.nextElement()); } System.out.println("\n"+ne+" propriétés"); // 3. Quelques valeurs (rép.courant, rép.d'accueil ...) // ---------------------------------------------------- String nom, val; nom="user.home"; val=p.getProperty(nom); System.out.println("Répertoire d'accueil, "+nom+" : "+val); nom="user.dir"; val=p.getProperty(nom); System.out.println("Répertoire courant, "+nom+" : "+val); nom="user.name"; val=p.getProperty(nom); System.out.println("identité de l'utilisateur, "+nom+" : "+val); System.out.print("Pour initialiser un générateur, long: " + System.currentTimeMillis() + " ou int: "+Math.abs((int)System.currentTimeMillis())); // 4. Fontes et capacité de gestion d'images // ----------------------------------------- // cf. import javax.imageio.ImageIO; // import java.io.IOException; // import java.awt.Toolkit; String fontes[]=Toolkit.getDefaultToolkit().getFontList(); affTab(fontes,"Fontes utilisables:"); String fmtImageLu[] = ImageIO.getReaderFormatNames(); affTab(fmtImageLu, "Formats d'images reconnus:"); String typeMimeLu[] = ImageIO.getReaderMIMETypes(); affTab(typeMimeLu, "Types MIME lisibles:"); String fmtImageEcrit[] = ImageIO.getWriterFormatNames(); affTab(fmtImageEcrit, "Format d'images écrits:"); String typeMimeEcrit[] = ImageIO.getWriterMIMETypes(); affTab(typeMimeEcrit, "Types MIME écrits:"); // 5. Et en plus: taille écran, bip // -------------------------------- Toolkit.getDefaultToolkit().beep(); Dimension d=Toolkit.getDefaultToolkit().getScreenSize(); System.out.println("écran "+d.width+"x"+d.height); } private static void affTab(String names[], String title) { System.out.println(title); for (int i = 0, n = names.length; i < n; i++) { System.out.println("\t" + names[i]); } } } //fin public class Environnement // fin Environnement.java