Programmation Orientée Objet

Dimension: px
Commencer à balayer dès la page:

Download "Programmation Orientée Objet"

Transcription

1 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Entrées/sorties <dntt@u-cergy.fr> Université de Cergy-Pontoise

2 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Plan 1 Les fichiers et répertoires 2 Les entrées-sorties de bas niveau Flux d entrée Flux de sortie 3 Les entrées-sorties de haut niveau Les lecteurs : Reader Les écrivains : Writer Les accès aléatoire : RandomAccessFile 4 Sauvegarde, restauration d un objet Sauvegarde et recharge à partir d un fichier texte Sauvegarde et recharge par sérialisation 5 Crédits

3 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o 1 Les fichiers et répertoires 2 Les entrées-sorties de bas niveau 3 Les entrées-sorties de haut niveau 4 Sauvegarde, restauration d un objet 5 Crédits

4 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Fichiers et répertoire Tout fichier ou répertoire se trouve dans l arborescence du système. On y accède par un chemin : relatif ou absolu. Exemple : Nous sommes actuellement (répertoire courant) dans le répertoire /home/etu/dntt/poo. / var log truc.txt./truc.txt /home/etu/dntt/poo/truc.txt../poo/truc.txt td3/prog.java /home/etu/dntt/poo/td3/prog.java /tmp/tutu../../tmp/tutu home tmp bidule etu dntt machin.java poo tutu tata titi toto td2 td3 truc.txt card ext2.c ext2.h Rectangle.java Rectangle.class Prog.java Carre.java Carre.class Rectangle.class Prog.java

5 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Opérations sur le système de fichiers : java.io.file Méthodes boolean canread() boolean canwrite() boolean exists() boolean isdirectory() boolean isfile() boolean ishidden() boolean isabsolute() String getabsolutepath() String getcanonicalpath() String getname() String getparent() long lastmodified() long length() String[] list() boolean createnewfile() boolean mkdir() boolean mkdirs() boolean delete() void deleteonexit() boolean renameto(file dest) boolean setlastmodified(long temps) boolean setreadonly() Description teste si l application est autorisée à lire dans l objet dénoté teste si l application est autorisée à écrire dans l objet dénoté teste si la référence existe teste si l objet est un répertoire teste si l objet est un fichier teste si l objet est caché (commence par. sous Unix) teste si la référence est absolue renvoie la référence absolue de l objet renvoie la référence absolue canonique de l objet renvoie le dernier élément de la référence (basename) renvoie la référence du répertoire parent renvoie la date de dernière modification renvoie la longueur de l objet renvoie la liste des objets contenus dans l objet s il s agit d un répertoire. créé un nouveau fichier vide s il n existe pas créé un nouveau répertoire créé un nouveau répertoire ainsi que les intermédiaires supprime l objet (fichier ou répertoire) supprimera l objet lorsque la machine virtuelle terminera renomme l objet modifie la date de dernière modification de l objet positionne la protection contre l écriture dans l objet

6 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Exemple d utilisation cf. exemple ListerFichiers.java

7 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Entrées-sorties CHANTE Les entrées-sorties sont toutes les opérations de transfert d information entre des entités extérieures au programme (des fichiers, des périphériques, ou d autres programmes) et des éléments du programme. Application Flux d entrée standard (System.in) ou Fichier ou Application ou ou Flux de sortie standard (System.out) rt dépour vue quand la bise fut venue. petit morceau de Fichier LA CIGALE Pas un AYANT TOUTE l ETE SE TRO Flux d erreur standard Application ou Fichier ou (System.err) ERREUR FICHIER MANQUANT DE CONVERSION Application

8 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Entrées sorties standards Par défaut : 0 le flux d entrée standard (System.in) : ce qui est tapé au clavier par l utilisateur. 1 le flux de sortie standard (System.out) : la console 2 le flux d erreur standard (System.err) : la console Flux d entrée standard (System.in) Flux de sortie standard (System.out) LA CIGALE AYANT rt dépour vue quand la bise fut venue. Pas un petit morceau de CHANTE TOUTE l ETE SE TRO Flux d erreur standard (System.err) FICHIER MANQUANT ERREUR DE CONVERSION Application

9 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Les différents types d entrée-sorties. Filtrage Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau

10 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o 1 Les fichiers et répertoires 2 Les entrées-sorties de bas niveau Flux d entrée Flux de sortie 3 Les entrées-sorties de haut niveau 4 Sauvegarde, restauration d un objet 5 Crédits

11 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Les entrées-sorties de bas niveau Les opérations réalisées se font essentiellement sur des octets (byte). Ces classes ne permettent que des entrées sorties séquentielles. Les classes manipulant les flux se terminent par Stream (flux).

12 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Les flux d entrées Classes héritant de la classe abstraite java.io.inputstream. Flux d entrée J ai déjà lu : La cigale ayant chanté toute l été, SE TROUVA FO rt dépour vue quand la bise fut venue. Pas un petit morceau de Application

13 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Classe abstraite InputStream Méthode int available() void close() void mark(int limite) boolean marksupported() int read() int read(byte[] octets) int read(byte[] o,int p,int l) void reset() long skip(long saut) Description renvoie le nombre d octets qui pourront être lus sans conduire à un blocage ferme ce flot d entrée et libère les resources associées enregistre la position courante tant que limite octets ne sont pas consommés teste si le flot supporte le marquage de position lit l octet suivant lit au plus octets.length octets en les plaçant dans le tableau lit au plus l octets en les plaçant dans le tableau à partir de p repositionne le flot sur la dernière marque avance dans le flot de la longueur du saut

14 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Exemple de programme InputStream is = new FileInputStream("cigale.txt"); int octet ; while ((octet = is.read())!= -1 ) { System.out.print((char)octet ); } cf. exemple TestInputStream.java

15 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Flux d entrée : InputStream Classes héritant de de java.io.inputstream. Classe Description javax.sound.sampled.audioinputstream ByteArrayInputStream FileInputStream FilterInputStream ObjectInputStream PipedInputStream SequenceInputStream pour lire des fichiers sons pour réaliser des lectures dans un tableau de byte pour réaliser des lectures depuis un fichier super classe permettant de réaliser un filtrage de la lecture permet la désérialisation d objets ou types primitifs permet de lire dans un tube permet d effectuer des lectures dans un groupe de fichiers

16 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o FilterInputStream Filtrage des informations avant délivrance à l application : Classe Description BufferedInputStream DataInputStream PushbackInputStream java.util.zip.checkinputstream java.security.digestinputstream java.util.zip.inflaterinputstream java.util.zip.gzipinputstream java.util.zip.zipinputstream javax.swing.progressmonitorinputstream utilise un tampon de lecture lit des types primitifs permet des lectures anticipées effectue des contrôles de somme effectue des contrôles de signature effectue des lectures dans un fichier compressé (méthode deflate) lit un fichier compressé au format GZIP lit un fichier d archive au format ZIP suit les lectures

17 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Les flux de sorties Classes héritant de la classe abstraite java.io.outputstream.

18 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Flux de sortie : OutputStream Classe ByteArrayOutputStream FileOutputStream FilterOutputStream ObjectOutputStream PipedOutputStream Description écrit dans un tableau d octets écrit dans un fichier super classe permettant de réaliser un filtrage en écriture permet la sérialisation d objets et de types primitifs écrit dans un tube

19 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Méthode void close() void flush() void write(byte [] octets) void write(byte [] o,int p,int l) void write(int octet) Description ferme le flot et libère les resources associées force la sortie en vidant le buffer associé écrit les octets écrit l octets à partir de la position p du tableau écrit un octet

20 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o Exemple cf. exemple TestOutputStream.java

21 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Flux d entrée de Flux haut de sortie niveau Sauvegarde, restauration d un o FilterOutputStream Filtrage des données avant écriture. Classe Description BufferedOutputStream DataOutputStream PrintStream java.util.zip.checkedoutputstream java.util.zip.deflateroutputstream java.util.zip.gzipoutputstream java.util.zip.zipoutputstream java.security.digestoutputstream utilise un tampon d écriture écrit des types primitifs pour formatter les écritures effectue des écritures avec contrôle de somme effectue des écritures compressées (méthode deflate) effectue des écritures compressées (méthode GZIP) effectue des écritures archivées (méthode ZIP) effectue des écritures signées

22 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o 1 Les fichiers et répertoires 2 Les entrées-sorties de bas niveau 3 Les entrées-sorties de haut niveau Les lecteurs : Reader Les écrivains : Writer Les accès aléatoire : RandomAccessFile 4 Sauvegarde, restauration d un objet 5 Crédits

23 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o

24 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Les lecteurs Classes héritant de la classe abstraite java.io.reader.

25 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Méthode void close() void mark(int limite) boolean marksupported() int read() int read(char[] cars) int read(char[] c,int p,int l) boolean ready() void reset() long skip(long saut) Description ferme le flot et libère les resources marque la position courante tant que limite caractères ne sont pas consommés détermine si le flot supporte le marquage de position lit un caractère lit au plus cars.length caractères lit au plus l caractères, les range à partir de la position p dans c détermine si l on peut lire le flot reprend à la dernière marque effectue un saut avant dans la lecture

26 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Exemple BufferedReader fichier = new BufferedReader( new FileReader("cigale.txt")); String str = null ; while ((str = fichier.readline ())!= null) System.out.println(str); cf. exemple TestReader

27 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Les lecteurs : Reader Classe BufferedReader CharArrayReader FilterReader InputStreamReader PipedReader StringReader Description super classe des classes utilisant un buffer permet de lire un tableau de caractères super classe de filtrage en lecture pont entre un InputStream et un Reader permet de lire dans un tube permet de lire dans une chaîne de caractères

28 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Les lecteurs avec filtrage FilterReader Classe Description PushbackReader permet de réaliser des lectures anticipées BufferedReader Classe Description LineNumberReader permet de connaître le numéro de ligne courante InputStreamReader Classe Description FileReader permet de lire dans un fichier

29 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Les écrivains Classes héritant de la classe abstraite java.io.writer.

30 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Méthode void close() void flush() void write(char[] cars) void write(char[] c,int p,int l) void write(int c) void write(string cha^ıne) void write(string cha^ıne,int p,int l) Description ferme le flot et libère les resources associées rend les écritures effectives écrit le tableau de caractères cars écrit les l caractères du tableau c en commençant à la position p écrit le caractère écrit la chaîne de caractères écrit les l caractères de la chaîne en commençant à p

31 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Exemple cf. exemple TestWriter

32 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Les écrivains : Writer Classe BufferedWriter CharArrayWriter FilterWriter OutputStreamWriter PipedWriter PrintWriter StringWriter Description utilise un tampon écrit dans un tableau de caractères super classe de filtrage en écriture pont entre OutputStream et Writer écrit dans un tube formatte les écritures écrit dans une chaîne de caractèr

33 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o OutputStreamWriter Classe Description FileWriter permet d écrire dans un fichier

34 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o Accès aléatoire : RandomAccessFile lire ou écrire et de se déplacer dans un fichier Méthode Description void close() long length() int read() boolean readboolean() double readdouble() int readint() String readline() int readunsignedshort() String readutf() void seek(long position) void setlength(long longueur) int skipbytes(int saut) void write(int o) void writeboolean(boolean b) void writedouble(double d) void writeint(int i) void writeutf(string cha^ıne) ferme le flot et libère les resources renvoie la longueur du fichier lit un octet lit un booléen lit un double lit un int lit une ligne de texte lit un entier court non signé lit une chaîne de caractères modifie la position courante modifie la longueur du fichier effectue un saut en avant écrit un octet écrit un booléen écrit un double écrit un int écrit la chaîne

35 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Les lecteurs : Reader haut Les niveau écrivains Sauvegarde, : Writerrestauration Les accès aléatoi d un o TestRandomAccess cf. exemple TestRandomAccess

36 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o 1 Les fichiers et répertoires 2 Les entrées-sorties de bas niveau 3 Les entrées-sorties de haut niveau 4 Sauvegarde, restauration d un objet Sauvegarde et recharge à partir d un fichier texte Sauvegarde et recharge par sérialisation 5 Crédits

37 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Sauvegarde et recharge à partir d un fichier texte Enregistrer toute l information connue sur un objet, afin de pouvoir plus tard restaurer l objet dans le même état en relisant le fichier. c3 : Chat coordx : 18 c2 : Chat coordy : 33 c1 : Chat coordx : 21 nom : Pupuce coordx : 12 coordy : 14 race : persan coordy : 18 nom : Minet couleur : noir nom : Moustache race : siamois tatouage : 24680UVW race : persan couleur : blanc couleur : noir tatouage : 98765XYZ tatouage : 12345ABC Application 1 Disque Moustache persan noir 12345ABC Minet siamois blanc 98765XYZ Pupuce persan noir 24680UVW Sauvegarde sous forme de texte en respectant un certain format (que l on aura défini ou réutilisé). + indépendant de l application et de l environnement (système, type d encodage, langage de programmation). - Nécessite des manipulations de texte (parseurs, Tokenizer) pour reconstruire son fichier.

38 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Sauvegarde et recharge à partir d un fichier texte Enregistrer toute l information connue sur un objet, afin de pouvoir plus tard restaurer l objet dans le même état en relisant le fichier. c3 : Chat coordx : 0 c2 : Chat coordy : 0 c1 : Chat coordx : 0 nom : Pupuce coordx : 0 coordy : 0 race : persan coordy : 0 nom : Minet couleur : noir nom : Moustache race : siamois tatouage : 24680UVW race : persan couleur : blanc couleur : noir tatouage : 98765XYZ tatouage : 12345ABC Application 2 Disque Moustache persan noir 12345ABC Minet siamois blanc 98765XYZ Pupuce persan noir 24680UVW Sauvegarde sous forme de texte en respectant un certain format (que l on aura défini ou réutilisé). + indépendant de l application et de l environnement (système, type d encodage, langage de programmation). - Nécessite des Tuyêtmanipulations Trâm DANG NGOC deprogrammation texte (parseurs, Orientée Objet Tokenizer)

39 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o java.io.streamtokenizer Variable/méthode double nval String sval int TT EOF int TT EOL int TT NUMBER int TT WORD int ttype int nexttoken() int lineno() void parsenumbers() Description si le token est un nombre, c est sa valeur si le token est un mot, c est la chaîne correspondante constante indiquant la fin du flot constante indiquant la fin d une ligne constante indiquant un nombre constante indiquant un mot contient le type du token et prend une des valeurs constantes définies précédemment lit le token suivant, son type est rangé dans ttype et sa valeur éventuellement dans nval ou sval est une méthode qui retourne le numéro de ligne, spécifie que ce sont des nombres qui sont analysés

40 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Classe Chat public class Chat { private static final long serialversionuid = 1L; private int coordx ; private int coordy ; private String nom ; private int race ; private Color couleur ; private String tatouage ; // methodes... cf. exemple Chat

41 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Format de fichier On convient d un format de fichier, par exemple : nom race couleur tatouage

42 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Sauvegarde Chat c = new Chat ("Moustache", Chat.RACE_ANGORA, Color.BLACK, " FileWriter out = new FileWriter("chat.txt"); out.write(c.getnom ()) ; out.write(" "); switch (c.getrace ()) { case Chat.RACE_BATARD : out.write("batard") ; break ; case Chat.RACE_ANGORA : out.write("angora") ; break ; case Chat.RACE_SIAMOIS : out.write("siamois") ; break ; case Chat.RACE_PERSAN : out.write("persan") ; break ; } out.write(" "); cf. exemple SauveChat

43 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Chargement Reader r = new BufferedReader(new FileReader("chat.txt")); StreamTokenizer st = new StreamTokenizer(r); // on lit le nom st.nexttoken() ; // on passe au token suivant if (st.ttype!= StreamTokenizer.TT_WORD) System.err.println ("Er String nom = st.sval ; // on lit la race st.nexttoken() ; // on passe au token suivant if (st.ttype!= StreamTokenizer.TT_WORD) System.err.println ("Er int race ; if (st.sval.equals ("persan")) race = Chat.RACE_PERSAN ; else if (st.sval.equals ("siamois")) race = Chat.RACE_SIAMOIS ; else if (st.sval.equals ("angora")) race = Chat.RACE_ANGORA ;... Chat c = new Chat (nom, race, couleur, tatouage) ; cf. exemple ChargeChat

44 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Sauvegarde et recharge par sérialisation Enregistrer toute l information connue sur un objet, afin de pouvoir plus tard restaurer l objet dans le même état en relisant le fichier. c3 : Chien coordx : 42 c2 : Chien coordy : 13 c1 : Chien coordx : 18 nom : Milou coordy : 22 coordx : 12 race : pit bull nom : Rex coordy : 30 couleur : jaune race : caniche nom : Médor tatouage : 24680UVW couleur : noir race : labrador tatouage : 98765XYZ couleur : noir tatouage : 12345ABC Application 1 Disque Sauvegarde par sérialisation : + facile à sérialiser/désérialiser (un appel de méthode) - fichier pas lisible par un autre programme que notre application.

45 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Sauvegarde et recharge par sérialisation Enregistrer toute l information connue sur un objet, afin de pouvoir plus tard restaurer l objet dans le même état en relisant le fichier. c3 : Chien coordx : 0 c2 : Chien coordy : 0 c1 : Chien coordx : 0 nom : Milou coordx : 0 coordy : 0 race : pit bull coordy : 0 nom : Rex couleur : jaune nom : Médor race : caniche tatouage : 24680UVW race : labrador couleur : noir couleur : noir tatouage : 98765XYZ tatouage : 12345ABC Application 1 Disque Sauvegarde par sérialisation : + facile à sérialiser/désérialiser (un appel de méthode) - fichier pas lisible par un autre programme que notre application.

46 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o La sérialisation (serialization, marshalling) Sérialisation (serialization, marshalling) processus visant à encoder l état d une information qui est en mémoire sous la forme d une suite d informations atomiques (en octets ou bits). Cette suite pourra par exemple être utilisée pour la sauvegarde (persistance) ou le transport sur le réseau Désérialisation (deserialization, unmarshalling) L activité symétrique, visant à décoder cette suite pour créer une copie conforme de l information d origine, s appelle la désérialisation (ou unmarshalling).

47 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Mécanisme général de sérialisation de Java 1 on déclare que la classe est sérialisable (implements Serializable) 2 on sauvegarde l objet créé par un seul appel à une méthode d écriture. 3 l objet pourra être relu et sera reconstitué dans le même état.

48 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Classe sérialisable public class Chien implements Serializable { private static final long serialversionuid = 1L; private transient int coordx ; private transient int coordy ; private String nom ; private int race ; private Color couleur ; private String tatouage ; // methodes... cf. exemple Chien

49 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Sérialisation FileOutputStream fos = new FileOutputStream("chien.sauve"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeobject(this); oos.flush(); fos.close(); cf. exemple SerialiseChien

50 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties Sauvegarde et de recharge haut niveau à partirsauvegarde, d un fichier texte restauration Sauvegarde d un o Désérialisation Chien c; FileInputStream fis = new FileInputStream("chien.sauve"); ObjectInputStream ois = new ObjectInputStream(fis); c = (Chien) ois.readobject(); fis.close(); cf. exemple DeserialiseChien

51 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o 1 Les fichiers et répertoires 2 Les entrées-sorties de bas niveau 3 Les entrées-sorties de haut niveau 4 Sauvegarde, restauration d un objet 5 Crédits

52 Les fichiers et répertoires Les entrées-sorties de bas niveau Les entrées-sorties de haut niveau Sauvegarde, restauration d un o Crédits I

Entrées / Sorties. Entrées / Sorties. Entrées/Sorties. System.out. Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T. Terrain connu.

Entrées / Sorties. Entrées / Sorties. Entrées/Sorties. System.out. Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T. Terrain connu. Entrées / Sorties Entrées/Sorties Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T Karima Boudaoud IUT GTR-Sophia Antipolis 2 Terrain connu Entrées / Sorties la classe java.lang.system cette

Plus en détail

Flux de données Lecture/Ecriture Fichiers

Flux de données Lecture/Ecriture Fichiers Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d

Plus en détail

Cours 14 Les fichiers

Cours 14 Les fichiers Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une

Plus en détail

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers. Programmation Orientée Objet - Licence TIS CM8/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/03/2006 Rappel sur la séance précédente La fois précédente, nous avons vu : 1 UML

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant. Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de

Plus en détail

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13 Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Certificat Big Data - Master MAthématiques

Certificat Big Data - Master MAthématiques 1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

PROGRAMMATION PAR OBJETS

PROGRAMMATION PAR OBJETS PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

GESTION DES FICHIERS C/UNIX

GESTION DES FICHIERS C/UNIX Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant

Plus en détail

1 Lecture de fichiers

1 Lecture de fichiers Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Cours de Système : Gestion de Fichiers

Cours de Système : Gestion de Fichiers Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Programmation Internet en Java

Programmation Internet en Java Chapitre 8 Programmation Internet en Java Vous avez déjà utilisé Internet, le plus connu des inter-réseaux mondiaux d ordinateurs et quelques-uns de ses services, en particulier le web et le courrier électronique.

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

Plus en détail

Structure d un programme

Structure d un programme Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Java Licence Professionnelle CISII, 2009-2010

Java Licence Professionnelle CISII, 2009-2010 Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :

Plus en détail

Système de Gestion de Fichiers

Système de Gestion de Fichiers Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Apprendre Java en 154 minutes

Apprendre Java en 154 minutes Apprendre Java en 154 minutes Tutorial Java 1.6 - HESB-TI Stéphanie Calderara José R. Beuret Quentin Cosendey Mai 2008 Table des matières 1 Objet, classe et modificateur 3 1.1 Le premier pas..........................

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation Les classes implémentant Serializable Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement

Plus en détail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers. I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement

Plus en détail

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Génie Logiciel I Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M.

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Les fichiers. Chapitre 4

Les fichiers. Chapitre 4 Chapitre 4 Les fichiers Jusqu à maintenant tous les programmes que nous avons conçus travaillaient sur des données qui étaient perdues après chaque session de travail. On peut cependant, c est bien naturel,

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2 Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis papa, c est quoi un bus logiciel réparti? Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la

Plus en détail

Le système de gestion des fichiers, les entrées/sorties.

Le système de gestion des fichiers, les entrées/sorties. Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Introduction Christian Bulfone christian.bulfone@gipsa-lab.fr www.gipsa-lab.fr/~christian.bulfone/ic2a-dciss Master IC2A/DCISS Année 2012/2013 Encapsulation : rappel Données Données

Plus en détail

Programmation client-serveur sockets - RPC

Programmation client-serveur sockets - RPC Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

2 Comment fonctionne un ordinateur, dans les grandes lignes

2 Comment fonctionne un ordinateur, dans les grandes lignes Programmation 1 Cours n 1 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot Les notes de cours et les feuilles de TD sont disponibles (avec un peu de retard par rapport au déroulement du cours)

Plus en détail

COMPARAISONDESLANGAGESC, C++, JAVA ET

COMPARAISONDESLANGAGESC, C++, JAVA ET REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Outils pour la pratique

Outils pour la pratique Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.

Plus en détail

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

Plus en détail

Calcul Parallèle. Cours 5 - JAVA RMI

Calcul Parallèle. Cours 5 - JAVA RMI Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation

Plus en détail

TP : Gestion d une image au format PGM

TP : Gestion d une image au format PGM TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples

Plus en détail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET I. INTRODUCTION 1.1. HISTORIQUE 1991: Concepts Java pour Sun -conception d'un langage pour des appareils électroniques(code embarqué) -syntaxe proche du C++

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

Plus en détail

Boîte électronique. Découverte des principales fonctions d une messagerie électronique. (et les pièces jointes)

Boîte électronique. Découverte des principales fonctions d une messagerie électronique. (et les pièces jointes) restosound.mp3 Boîte électronique Découverte des principales fonctions d une messagerie électronique (et les pièces jointes) 1 Rappels Nous avons vu dans l initiation Messagerie 1 les bases du courrier

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail