Um das Java-Wissen zu aktualisieren, das bei "1.4" gestoppt wurde Ich lerne etwas über Java7,8,9. Dieses Mal werde ich nur beschreiben, was ich über die in "7" hinzugefügten Funktionen untersucht habe.
Sie können jetzt Generika beim Erstellen einer Instanz weglassen.
List<Map<String, List<String>>> gyunyu = new ArrayList<>();
NIO2 Eine Dateisystem-bezogene API wurde hinzugefügt.
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("Zitronenmilch");
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 Schnittstelle. Ein Objekt, mit dem der Pfad einer Datei oder eines Verzeichnisses identifiziert werden kann
java.nio.file.Paths
Klasse zum Erstellen eines Pfadobjekts
--Paths.get (URI uri)
: Konvertiert den angegebenen URI in ein Path-Objekt
java.nio.file.Files
Eine Klasse, die die Verarbeitung von Dateien oder Verzeichnissen sammelt
--Files.readAllLines (Pfadpfad, Zeichensatz cs)
: Liest alle Zeilen aus der Datei
--Files.write (Pfadpfad, Iterable <? Erweitert CharSequence> -Zeilen, Zeichensatz cs, OpenOption ... -Optionen)
: Schreiben Sie Textzeilen in die Datei
java.nio.file.StandardOpenOption
Aufzählungstypklasse, die definiert, wie die Datei betrieben wird
--StandardOpenOption.APPEND
: Schreiben Sie am Ende der Datei, nicht am Anfang
try-with-resources Mit der Anweisung "try-with-resources" müssen Sie nicht mehr "close ()" schreiben, das beim Zugriff auf die Dateidatenbank beschrieben wurde. Durch das Verhindern von Speicherlecks durch das Vergessen des Schreibens ist es möglich geworden, ein wenig Zeit und Mühe zu sparen.
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();
}
Die Anweisung "try-with-resources" kann mit jeder Klasse verwendet werden, die die Schnittstelle "java.lang.AutoCloseable" oder "java.io.Closeable" implementiert.
Gyunyu.java
public class Gyunyu implements AutoCloseable {
public void make() {
System.out.println("Kaffee");
}
@Override
public void close() throws Exception {
System.out.println("Milch!!!");
}
}
try (Gyunyu gyunyu = new Gyunyu()) {
gyunyu.make();
} catch (Exception e) {
e.printStackTrace();
}
close ()
wird ausgeführt, ohne es wie gyunyu.close ()
aufzurufen.
Bis zu Java 6 schrieb ich wie folgt:
try {
} catch (IllegalArgumentException e) {
} catch (NullPointerException e) {
}
Ab Java7 kann es wie folgt zusammengefasst werden.
try {
} catch (IllegalArgumentException | NullPointerException e) {
}
Sie können String jetzt in switch-Anweisungen verwenden. Nur "int" kann bis zu "1.4" verwendet werden, und "enum" kann auch zur Beurteilung von "5" verwendet werden. Ab "7" ist es jetzt möglich, auch mit String zu urteilen. Ich habe immer gedacht, dass es an String gemessen werden kann ...
String s = "coffee";
switch (s) {
case "ichigo":
System.out.println("ICHIGO GYUNYU !!!");
break;
case "coffee":
System.out.println("COFFEE GYUNYU !!!");
break;
}
Recommended Posts