Pour mettre à jour la connaissance de Java qui s'est arrêtée à "1.4" J'apprends Java7,8,9. Cette fois, je ne décrirai que ce que j'ai étudié sur les fonctions ajoutées en "7".
Vous pouvez désormais omettre les génériques lors de la création d'une instance.
List<Map<String, List<String>>> gyunyu = new ArrayList<>();
NIO2 Une API liée au système de fichiers a été ajoutée.
try {
Path path = Paths.get("gyunyu.txt");
List<String> list = Files.readAllLines(path, Charset.forName("UTF-8"));
for (String gyunyu : list) {
System.out.println(gyunyu);
}
} catch(IOException e) {
e.printStackTrace();
}
try {
List<String> list = new ArrayList<>();
list.add("Lait de citron");
Path path = Paths.get("gyunyu.txt");
Files.write(path, list, Charset.forName("UTF-8"), StandardOpenOption.APPEND);
} catch (IOException e) {
e.printStackTrace();
}
java.nio.file.Path interface. Un objet qui peut être utilisé pour identifier le chemin d'un fichier ou d'un répertoire
java.nio.file.Paths
Classe pour créer un objet Path
--Paths.get (URI uri)
: Convertit l'URI spécifié en objet Path
java.nio.file.Files
Une classe qui collecte les traitements liés aux fichiers ou répertoires
--Files.readAllLines (Path path, Charset cs)
: Lit toutes les lignes du fichier
--Files.write (Path path, Iterable <? Extend CharSequence> lines, Charset cs, OpenOption ... options)
: Ecrire des lignes de texte dans le fichier
java.nio.file.StandardOpenOption
Classe de type d'énumération qui définit comment faire fonctionner le fichier
--StandardOpenOption.APPEND
: écrire à la fin du fichier, pas au début
try-with-resources
En utilisant l'instruction try-with-resources
, vous n'avez plus à écrire le close ()
qui a été décrit en accédant à la base de données de fichiers.
En évitant les fuites de mémoire dues à l'oubli d'écrire, il est devenu possible de gagner un peu de temps et d'efforts.
try(BufferedReader reader = new BufferedReader(new FileReader("gyunyu.txt"))) {
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
L'instruction try-with-resources
peut être utilisée avec n'importe quelle classe qui implémente l'interface java.lang.AutoCloseable
ou java.io.Closeable
.
Gyunyu.java
public class Gyunyu implements AutoCloseable {
public void make() {
System.out.println("café");
}
@Override
public void close() throws Exception {
System.out.println("Lait!!!");
}
}
try (Gyunyu gyunyu = new Gyunyu()) {
gyunyu.make();
} catch (Exception e) {
e.printStackTrace();
}
close ()
est exécuté sans l'appeler comme gyunyu.close ()
.
Jusqu'à Java 6, j'ai écrit comme suit,
try {
} catch (IllegalArgumentException e) {
} catch (NullPointerException e) {
}
À partir de Java7, il peut être décrit collectivement comme suit.
try {
} catch (IllegalArgumentException | NullPointerException e) {
}
Vous pouvez désormais utiliser String dans les instructions switch.
Jusqu'à "1.4", seul ʻint peut être utilisé, et de "5" à ʻenum
peut également être utilisé pour le jugement.
A partir de "7", il est désormais possible de juger par String.
J'ai toujours pensé que cela pouvait être jugé par String ...
String s = "coffee";
switch (s) {
case "ichigo":
System.out.println("ICHIGO GYUNYU !!!");
break;
case "coffee":
System.out.println("COFFEE GYUNYU !!!");
break;
}
Recommended Posts