Академический Документы
Профессиональный Документы
Культура Документы
• Base du langage
• Les classes String / Vector/Arraylist /Arrays/
Énumération/ HashTable
• Les classes courants
• Interfaces graphiques
LES CLASSES COURANTES
• import java.io.BufferedReader;
• java.io.FileReader; java.io.FileNotFoundException;
Les fichiers: lecture java.io.IOException;
class LireLigne {
• On peut utiliser pour cela la classe FileReader. • public static void main(String[] argv) throws
IOException
• FileReader(String nomFichier) ouvre un flux de
lecture à partir du fichier indiqué. Lance une {BufferedReader lecteurAvecBuffer = null; String ligne;
exception si l'opération échoue.
try { lecteurAvecBuffer = new BufferedReader(new
• La classe FileReader possède un certain nombre de FileReader(argv[0]));
méthodes pour lire dans un fichier, méthodes
héritées de la classe Reader. }catch(FileNotFoundException exc)
• Pour lire des lignes de texte dans un fichier texte, on peut {System.out.println("Erreur d'ouverture");}
utiliser la classe BufferedReader. BufferedReader(Reader
in) ouvre un flux de lecture à partir d'un flux d'entrée in. while ((ligne = lecteurAvecBuffer.readLine()) != null)
Ce flux de type Reader peut provenir du clavier, d'un
fichier, du réseau, ... System.out.println(ligne);
Exemple de lecture: on obtient en sortie, à l'écran, le lecteurAvecBuffer.close();
contenu du fichier dont le nom est indiqué sur la ligne de
commande. }
}
LES CLASSES COURANTES
• class LireFichierTexte {
Syntaxe d'une classe d'expression On peut inclure des classes les unes dans les autres.
Cette classe représente un unique caractère, compris
régulière
[a-g[A-G]]
entre a et g, en minuscule ou en majuscule. Elle est
équivalente à [a-gA-G].
EXPRESSIONS RÉGULIÈRES \d
\D
[0-9]
[^0-9]
N'importe quel chiffre.
N'importe quel caractère qui n'est
pas un chiffre.
N'importe quel caractère blanc
\s [ \t\n\x0B\f\r] (espace, tabulation, retour-chariot,
etc...).
Caractère de début ou de terminaison Signification
N'importe quel caractère qui n'est
pas un blanc. Notons que l'on peut
^ Un début de ligne. \S [^\s]
prendre la négation d'une classe
prédéfinie.
$ Une fin de ligne.
N'importe quel caractère utilisable
\b Le début ou la fin d'un mot. dans un mot (w est utilisé pour
word). Cela représente les
caractères alphabétiques
Le début ou la fin d'un élément qui n'est \w [a-zA-Z_0-9] minuscules et majuscules, les
\B
pas un mot. chiffres et le caractère souligné
(underscore). Notons que les
\A Le début d'une entrée. caractères accentués ne s'y trouvent
pas...
La fin du morceau de texte qui a été \W [^\w] Inverse de la classe précédente.
\G N'importe quel caractère minuscule.
trouvé précédemment.
\p{javaLowerCase} Notons que cette fois, les caractères
accentués s'y trouvent !
La fin d'une entrée, sauf s'il s'agit de la N'importe quel caractère majuscule.
\Z
fin du texte. \p{javaUpperCase} Même chose : les majuscules
accentuées s'y trouvent.
La fin d'une entrée, y compris s'il s'agit \p{javaWhitespace} N'importe quel espace.
\z
de la fin du texte. N'importe quel caractère écrit en
\p{javaMirrored}
miroir au sens de Unicode.
LES CLASSES COURANTES
EXPRESSIONS RÉGULIÈRES
Quantifieurs greed Quantifieurs reluct
• Enfin signalons l'opérateur | : X | Y
Signification
y ant
X? X ??
X apparaît 0 ou
une fois. signifie que le caractère considéré
X apparaît un doit appartenir soit à la classe X ,
soit à la classe Y .
nombre
X* X *?
quelconque de
fois.
X apparaît 1 fois et
X+ X +?
plus.
X apparaît
X {n} X {n}?
exactement n fois.
X apparaît au
X {n,} X {n,}?
moins n fois.
X apparaît au
X {n, m} X {n, m}? moins n fois et au
plus m fois
enum Civilite {MADAME, MADEMOISELLE, MONSIEUR} ; Civilite civilite = Civilite.MADAME ;
BASE DU LANGAGE
exemple
Déclaration d'une public enum Jour {
énumération LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI,
SAMEDI, DIMANCHE;}
public enum Civilite { // dans le fichier Civilite.java
class EssaiJour {public static void main(String[] arg) {
MADAME, MADEMOISELLE, MONSIEUR Jour jour = Jour.valueOf(arg[0]);
} if (jour == Jour.SAMEDI)
Exemple: System.out.print("fin de semaine : ");
enum Civilite {MADAME, MADEMOISELLE, MONSIEUR} ; switch(jour) {case SAMEDI :case
DIMANCHE :
Civilite civilite = Civilite.MADAME ; System.out.println("se reposer");
break;
Un type énuméré permet de définir
default :
un ensemble d'identificateurs pour System.out.println("travailler");
des constantes break;}}}
BASE DU LANGAGE
La classe Array fournit des méthodes
simples pour afficher un tableau sous
Classe Arrays forme de chaîne de caractères
• Cette classe expose des méthodes utilitaires qui traitent
des tableaux.
string[] monTableau = new string[]
La première méthode exposé permet de convertir un
{Un, Deux, Trois};
tableau en List : asList(Object[] tab). Attention toutefois, la
liste retournée ne supporte pas l'ajout d'objet ! Arrays.toString(monTableau);
Utilisation de Arrays.asList(...)
// jusqu'ici tout va bien...
List<String> list = Arrays.asList("Un", "Deux", "Trois") ;
// génération d'une UnsupportedOperationException
list.add("Quatre") ;
BASE DU LANGAGE