SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Créer un “ Log File “ sous
NetBeans IDE 6.5 et la plate-forme
                        plate-
J2ME


                   Zied CHEBIL


                                 1
INTRODUCTION


J2ME (Java 2 Micro Edition) ou Java ME est le framework Java
spécialisé dans les applications mobiles.
Des plates-formes Java compatibles avec J2ME sont embarquées
dans de nombreux téléphones portables et PDA.




                                                               2
INTRODUCTION

Une plate-forme J2ME est composée :
  * d'une KVM (Kilobyte Virtual Machine), une machine virtuelle
capable d'exécuter une application Java
  * d'une « configuration », une API donnant accès aux fonctions
de base du système
  * d'un « profil », une API donnant accès aux fonctions
spécifiques de la plate-forme.




                                                              3
INTRODUCTION

Les configurations les plus courantes sont :
   * CLDC (Connected Limited Device Configuration), que l'on
             (Connected
retrouve par exemple dans les téléphones mobiles
   * CDC (Connected Device Configuration), qui est plutôt
           (Connected
utilisé dans des décodeurs de télévision numérique

Les profils les plus courants sont :
  * MIDP (Mobile Information Device Profile), dont sont équipés
les téléphones WAP J2ME
   * DoJa, développé par NTT DoCoMo pour les téléphones i-
mode J2ME

                                                             4
INTRODUCTION




               5
Présentations de NetBeans IDE 6.5




                                    6
Style d`affichage
Projects                               -Source :code java
-Choix du projet actif                 -Screen :concepton d`un seul écran de l`IHM en       Palette
-Visualisation des éléments            utilisant la palette de composants                   -composant
java du projet                         -Flow : conception de l`enchainement de l`IHM en     graphiques
                                       utilisant la palette de composants




     Navigator                                  Output
                                                                                Properties
                                                -Affichage des messages de
     -Visualisation de l`organisation des                                       -Affichage des messages
     composants graphiques                      construction du projet et
                                                                                de construction du projet
                                                des sorties console                                    7
                                                                                et des sorties console
Créer un « Log file » sous
NetBeans IDE 6.5 avec J2ME
Dans l`IDE NetBeans et sous la plate-forme J2ME,
certains paquetages sont insupportables ou absents.
Parmi ces paquetages celle de « java.text ».




 Malgré que ce paquetage existe dans les différentes plate-
 forme, de java mais il est non fonctionnel sur la plate-forme
 J2ME.

                                                                 8
Comment donc créer un Log file sous la
plateforme J2ME ?




     Java offre un API pour résoudre ce problème, ce
     dernier s`appelle « File Connection API »




                                                       9
JAVA offre un « File Connection API » dont le but
d`accèder aux fichiers système de l`appareil
téléphonique.

FileConnection fc =
(FileConnection)Connector.open(String URL, int mode) ;


Format URL :
file:///<host>/<root>/<directory>/<directory>/.../<name>

L`URL débute avec “file:///” pour indiquer que le fichier
est accessible dans le localhost

 Les modes : Connector.READ, Connector.WRITE, ou
 Connector.READ_WRITE

                                                            10
Exemple : Ecrire un « Log file »
 public void ecrireLigne(String s) throws IOException
  {
   OutputStream out;
   PrintStream print;
    FileConnection fc =
 (FileConnection)Connector.open("file:///root1/java.txt");
   //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin
   out = fc.openOutputStream(fc.fileSize());
   //On ouvre un flux PrintStream depuis le flux de sortie
   //pour faciliter l'écriture ds le fichier
   print = new PrintStream(out);
   //On écrit la chaine avec un retour chariot
   print.println(s);
   //Fermeture des flux
   print.close();
   out.close();

 }

                                                                              11
Exemple : Lire un « Log file »
public String readHelpText() throws IOException
 {
   InputStream is ;
    FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt");
 //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin
 is = fc.openInputStream();
String text ="" ;
   try
   {
     StringBuffer sb = new StringBuffer();
     int chr, i = 0;
     // lire jusqu`a la fin de stream
     while ((chr = is.read()) != -1)
      text =text+((char) chr) ;
return text;
   }
   catch (Exception e)
   {System.out.println(« Impossible d`acceder au stream"); }
return null;
 }
                                                                                    12
Exemple : Effacer le contenu
de « Log file »
 public void effacer_log_fichier() throws IOException
  {
   InputStream is ;
      FileConnection fc =
 (FileConnection)Connector.open("file:///root1/java.txt");
   //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin
   is = fc.openInputStream();
   is.reset();
  }




                                                                              13
Erreur lors d`une ouverture d`un fichier




                                           14
L`émulateur ne peut pas accéder au fichier




Il faut créer ce fichier dans le bon chemin pour
exécuter l`application, car l`émulateur essaye
d'ouvrir un fichier qui est réellement n`existe pas.
On change l`émulateur si le problème persiste ,
car certain émulateur ne supporte pas cette
stratégie.
(l` émulateur Sprint peut être une solution ).


                                                       15
Création de fichier Log :
Il faut créer un dossier qui s`appelle “root1”( certains
émulateur possède ce dossier par défaut ) ensuite créer
votre fichier .
'C:WTK22appdbDefaultColorPhonefilesystemroot1
java.txt'

Nous pouvons créer le fichier avec un code :
try {
FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt");
// Create the file if it doesn't exist.
if(!fc .exists())
{fc.create(); }




                                                                                16
Classe LOG:
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import javax.microedition.io.Connector;
/**
 *
 * @author Zied Chebil
 */
public class LOG {

  public void ecrire(String s) throws IOException
{
 OutputStream out;
 PrintStream print;
    FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt");
 //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin
 out = fc.openOutputStream(fc.fileSize());
 //On ouvre un flux PrintStream depuis le flux de sortie
 //pour faciliter l'écriture ds le fichier
 print = new PrintStream(out);
 //On écrit la chaine
 print.println(s);                                                                  17
//Fermeture des flux
 print.close();
 out.close();
}
public String readText() throws IOException
 {
     InputStream is ;
      FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt");
 //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin
 is = fc.openInputStream();

           // getClass().getResourceAsStream("file:///root1/java.txt");
     String text ="" ;
     try
     {
       StringBuffer sb = new StringBuffer();
       int chr, i = 0;
      // Read until the end of the stream
      while ((chr = is.read()) != -1)
      {
          // sb.append((char) chr);
       text =text+((char) chr) ;

      }

                                                                                      18
System.out.println(text);
      return text;
    }
    catch (Exception e)
    {
      System.out.println("Unable to create stream");
    }
    return null;
  }
public void effacer_log_fichier() throws IOException
 {
  InputStream is ;
     FileConnection fc =
(FileConnection)Connector.open("file:///root1/java.txt");
    //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin
 is = fc.openInputStream();
 is.reset();
}

}




                                                                               19
Interface D`accueil du projet : Emploi de Temps intelligent qui
utilise le Log file.




                                                                  20
Merci pour votre Attention




                             21

Mais conteúdo relacionado

Mais procurados

Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3Amir Souissi
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de coursISIG
 
"Input/Ouput, 16 ans après" à Devoxx France 2012
"Input/Ouput, 16 ans après" à Devoxx France 2012"Input/Ouput, 16 ans après" à Devoxx France 2012
"Input/Ouput, 16 ans après" à Devoxx France 2012Jean-Michel Doudoux
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web servicesLilia Sfaxi
 
Les nouveautés de java 7 et les promesses
Les nouveautés de java 7  et les promessesLes nouveautés de java 7  et les promesses
Les nouveautés de java 7 et les promessesEric Toguem
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un AlfrescoPASCAL Jean Marie
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentationYassine Badri
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linuxThierry Gayet
 
Shell sans les coquilles
Shell sans les coquillesShell sans les coquilles
Shell sans les coquillesÉdouard Lopez
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoPASCAL Jean Marie
 
Procédure de configuration et préparation de l’environnement sous windows
Procédure de configuration et préparation de l’environnement sous windowsProcédure de configuration et préparation de l’environnement sous windows
Procédure de configuration et préparation de l’environnement sous windowsAddi Ait-Mlouk
 
Installation de mongo_db_sur_windows_xp
Installation de mongo_db_sur_windows_xpInstallation de mongo_db_sur_windows_xp
Installation de mongo_db_sur_windows_xpsaidelfazni
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 

Mais procurados (20)

Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de cours
 
"Input/Ouput, 16 ans après" à Devoxx France 2012
"Input/Ouput, 16 ans après" à Devoxx France 2012"Input/Ouput, 16 ans après" à Devoxx France 2012
"Input/Ouput, 16 ans après" à Devoxx France 2012
 
openFrameworks
openFrameworksopenFrameworks
openFrameworks
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
 
Les nouveautés de java 7 et les promesses
Les nouveautés de java 7  et les promessesLes nouveautés de java 7  et les promesses
Les nouveautés de java 7 et les promesses
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
 
Commande linux
Commande linuxCommande linux
Commande linux
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
 
Commandes usuelle linux
Commandes usuelle   linuxCommandes usuelle   linux
Commandes usuelle linux
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Manip fichier
Manip fichierManip fichier
Manip fichier
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linux
 
Shell sans les coquilles
Shell sans les coquillesShell sans les coquilles
Shell sans les coquilles
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
 
Cours php
Cours php Cours php
Cours php
 
Procédure de configuration et préparation de l’environnement sous windows
Procédure de configuration et préparation de l’environnement sous windowsProcédure de configuration et préparation de l’environnement sous windows
Procédure de configuration et préparation de l’environnement sous windows
 
Apache Open SSL
Apache Open SSLApache Open SSL
Apache Open SSL
 
Installation de mongo_db_sur_windows_xp
Installation de mongo_db_sur_windows_xpInstallation de mongo_db_sur_windows_xp
Installation de mongo_db_sur_windows_xp
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 

Destaque (20)

Actions SEPRA (Green travel)
Actions SEPRA (Green travel)Actions SEPRA (Green travel)
Actions SEPRA (Green travel)
 
Best photos 2007
Best photos 2007Best photos 2007
Best photos 2007
 
Wie funktioniert traveltigers?
Wie funktioniert traveltigers?Wie funktioniert traveltigers?
Wie funktioniert traveltigers?
 
GDUM Unternehmensmanagement
GDUM UnternehmensmanagementGDUM Unternehmensmanagement
GDUM Unternehmensmanagement
 
Portafolio Diagnóstico
Portafolio DiagnósticoPortafolio Diagnóstico
Portafolio Diagnóstico
 
Website
WebsiteWebsite
Website
 
Un 2questions
Un 2questionsUn 2questions
Un 2questions
 
Mouvement communal novembre 2011
Mouvement communal novembre 2011Mouvement communal novembre 2011
Mouvement communal novembre 2011
 
Notre collège
Notre collègeNotre collège
Notre collège
 
Thesis
ThesisThesis
Thesis
 
Himpunan semesta
Himpunan semestaHimpunan semesta
Himpunan semesta
 
Bachlor
BachlorBachlor
Bachlor
 
Les 10 1
Les 10 1Les 10 1
Les 10 1
 
DENUNCIA
DENUNCIADENUNCIA
DENUNCIA
 
#LeanStrategy - HeroesFest 2015
#LeanStrategy - HeroesFest 2015#LeanStrategy - HeroesFest 2015
#LeanStrategy - HeroesFest 2015
 
Objetivo estrategico 3 ok
Objetivo estrategico 3 okObjetivo estrategico 3 ok
Objetivo estrategico 3 ok
 
Website
WebsiteWebsite
Website
 
Jesus david beltran ramos sitos turisticos, historicos y monumentos de vall...
Jesus david beltran ramos   sitos turisticos, historicos y monumentos de vall...Jesus david beltran ramos   sitos turisticos, historicos y monumentos de vall...
Jesus david beltran ramos sitos turisticos, historicos y monumentos de vall...
 
Plaquette Dr Multicanal
Plaquette Dr MulticanalPlaquette Dr Multicanal
Plaquette Dr Multicanal
 
Mon idole. ana
Mon idole. anaMon idole. ana
Mon idole. ana
 

Semelhante a log file sous Netbeans et J2ME

Entrees sorties
Entrees sortiesEntrees sorties
Entrees sortiesyazidds2
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralitésSinovatia
 
Les entrées sorties
Les entrées sortiesLes entrées sorties
Les entrées sortiesJihed Kaouech
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework HibernateInes Ouaz
 
Affichage d'un document Office sous Android
Affichage d'un document Office sous AndroidAffichage d'un document Office sous Android
Affichage d'un document Office sous AndroidStéphane Liétard
 
Presentation Symfony2
Presentation Symfony2Presentation Symfony2
Presentation Symfony2Ahmed ABATAL
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxThierry Gayet
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsCocoaHeads France
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système LinuxEL AMRI El Hassan
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Microsoft
 
Apache flink - prise en main rapide
Apache flink - prise en main rapideApache flink - prise en main rapide
Apache flink - prise en main rapideBilal Baltagi
 
Play Framework
Play FrameworkPlay Framework
Play FrameworkArmaklan
 
Java-Introduction (1).pdf
Java-Introduction (1).pdfJava-Introduction (1).pdf
Java-Introduction (1).pdfKuateTanguy2
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
 

Semelhante a log file sous Netbeans et J2ME (20)

Entrees sorties
Entrees sortiesEntrees sorties
Entrees sorties
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
 
Les entrées sorties
Les entrées sortiesLes entrées sorties
Les entrées sorties
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Affichage d'un document Office sous Android
Affichage d'un document Office sous AndroidAffichage d'un document Office sous Android
Affichage d'un document Office sous Android
 
Presentation Symfony2
Presentation Symfony2Presentation Symfony2
Presentation Symfony2
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU Linux
 
Go
GoGo
Go
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système Linux
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
Springioc
SpringiocSpringioc
Springioc
 
Apache ANT
Apache ANTApache ANT
Apache ANT
 
Présentation1
Présentation1Présentation1
Présentation1
 
Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5Les nouveautés du Framework .NET 4.5
Les nouveautés du Framework .NET 4.5
 
Apache flink - prise en main rapide
Apache flink - prise en main rapideApache flink - prise en main rapide
Apache flink - prise en main rapide
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Java-Introduction (1).pdf
Java-Introduction (1).pdfJava-Introduction (1).pdf
Java-Introduction (1).pdf
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012
 

log file sous Netbeans et J2ME

  • 1. Créer un “ Log File “ sous NetBeans IDE 6.5 et la plate-forme plate- J2ME Zied CHEBIL 1
  • 2. INTRODUCTION J2ME (Java 2 Micro Edition) ou Java ME est le framework Java spécialisé dans les applications mobiles. Des plates-formes Java compatibles avec J2ME sont embarquées dans de nombreux téléphones portables et PDA. 2
  • 3. INTRODUCTION Une plate-forme J2ME est composée : * d'une KVM (Kilobyte Virtual Machine), une machine virtuelle capable d'exécuter une application Java * d'une « configuration », une API donnant accès aux fonctions de base du système * d'un « profil », une API donnant accès aux fonctions spécifiques de la plate-forme. 3
  • 4. INTRODUCTION Les configurations les plus courantes sont : * CLDC (Connected Limited Device Configuration), que l'on (Connected retrouve par exemple dans les téléphones mobiles * CDC (Connected Device Configuration), qui est plutôt (Connected utilisé dans des décodeurs de télévision numérique Les profils les plus courants sont : * MIDP (Mobile Information Device Profile), dont sont équipés les téléphones WAP J2ME * DoJa, développé par NTT DoCoMo pour les téléphones i- mode J2ME 4
  • 7. Style d`affichage Projects -Source :code java -Choix du projet actif -Screen :concepton d`un seul écran de l`IHM en Palette -Visualisation des éléments utilisant la palette de composants -composant java du projet -Flow : conception de l`enchainement de l`IHM en graphiques utilisant la palette de composants Navigator Output Properties -Affichage des messages de -Visualisation de l`organisation des -Affichage des messages composants graphiques construction du projet et de construction du projet des sorties console 7 et des sorties console
  • 8. Créer un « Log file » sous NetBeans IDE 6.5 avec J2ME Dans l`IDE NetBeans et sous la plate-forme J2ME, certains paquetages sont insupportables ou absents. Parmi ces paquetages celle de « java.text ». Malgré que ce paquetage existe dans les différentes plate- forme, de java mais il est non fonctionnel sur la plate-forme J2ME. 8
  • 9. Comment donc créer un Log file sous la plateforme J2ME ? Java offre un API pour résoudre ce problème, ce dernier s`appelle « File Connection API » 9
  • 10. JAVA offre un « File Connection API » dont le but d`accèder aux fichiers système de l`appareil téléphonique. FileConnection fc = (FileConnection)Connector.open(String URL, int mode) ; Format URL : file:///<host>/<root>/<directory>/<directory>/.../<name> L`URL débute avec “file:///” pour indiquer que le fichier est accessible dans le localhost Les modes : Connector.READ, Connector.WRITE, ou Connector.READ_WRITE 10
  • 11. Exemple : Ecrire un « Log file » public void ecrireLigne(String s) throws IOException { OutputStream out; PrintStream print; FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt"); //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin out = fc.openOutputStream(fc.fileSize()); //On ouvre un flux PrintStream depuis le flux de sortie //pour faciliter l'écriture ds le fichier print = new PrintStream(out); //On écrit la chaine avec un retour chariot print.println(s); //Fermeture des flux print.close(); out.close(); } 11
  • 12. Exemple : Lire un « Log file » public String readHelpText() throws IOException { InputStream is ; FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt"); //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin is = fc.openInputStream(); String text ="" ; try { StringBuffer sb = new StringBuffer(); int chr, i = 0; // lire jusqu`a la fin de stream while ((chr = is.read()) != -1) text =text+((char) chr) ; return text; } catch (Exception e) {System.out.println(« Impossible d`acceder au stream"); } return null; } 12
  • 13. Exemple : Effacer le contenu de « Log file » public void effacer_log_fichier() throws IOException { InputStream is ; FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt"); //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin is = fc.openInputStream(); is.reset(); } 13
  • 14. Erreur lors d`une ouverture d`un fichier 14
  • 15. L`émulateur ne peut pas accéder au fichier Il faut créer ce fichier dans le bon chemin pour exécuter l`application, car l`émulateur essaye d'ouvrir un fichier qui est réellement n`existe pas. On change l`émulateur si le problème persiste , car certain émulateur ne supporte pas cette stratégie. (l` émulateur Sprint peut être une solution ). 15
  • 16. Création de fichier Log : Il faut créer un dossier qui s`appelle “root1”( certains émulateur possède ce dossier par défaut ) ensuite créer votre fichier . 'C:WTK22appdbDefaultColorPhonefilesystemroot1 java.txt' Nous pouvons créer le fichier avec un code : try { FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt"); // Create the file if it doesn't exist. if(!fc .exists()) {fc.create(); } 16
  • 17. Classe LOG: import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import javax.microedition.io.Connector; /** * * @author Zied Chebil */ public class LOG { public void ecrire(String s) throws IOException { OutputStream out; PrintStream print; FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt"); //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin out = fc.openOutputStream(fc.fileSize()); //On ouvre un flux PrintStream depuis le flux de sortie //pour faciliter l'écriture ds le fichier print = new PrintStream(out); //On écrit la chaine print.println(s); 17
  • 18. //Fermeture des flux print.close(); out.close(); } public String readText() throws IOException { InputStream is ; FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt"); //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin is = fc.openInputStream(); // getClass().getResourceAsStream("file:///root1/java.txt"); String text ="" ; try { StringBuffer sb = new StringBuffer(); int chr, i = 0; // Read until the end of the stream while ((chr = is.read()) != -1) { // sb.append((char) chr); text =text+((char) chr) ; } 18
  • 19. System.out.println(text); return text; } catch (Exception e) { System.out.println("Unable to create stream"); } return null; } public void effacer_log_fichier() throws IOException { InputStream is ; FileConnection fc = (FileConnection)Connector.open("file:///root1/java.txt"); //On ouvre un flux de sortie sur le fichier, en se positionnant à la fin is = fc.openInputStream(); is.reset(); } } 19
  • 20. Interface D`accueil du projet : Emploi de Temps intelligent qui utilise le Log file. 20
  • 21. Merci pour votre Attention 21