Ich habe versucht, die Java8 Stream API zu verwenden

Beispielcode

Ich habe versucht, Dateien mit StreamApi zu lesen und zu schreiben, das in Java8 hinzugefügt wurde. Bitte beachten Sie, dass ich in ca. 30 Minuten nachforsche und schreibe, um dies zu überprüfen (lacht).

SampleStream.java


import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;

/**
 *Beispiel streamen<br />
 *Der Zeichencode ist UTF-Auf 8 einstellen(Shift_In jis nicht sichtbar)
 */
public class SampleStream {
	/**Pfad lesen*/
	private static final String INPUT_PATH = "C:\\temp\\in.txt";
	/**Ausgabepfad*/
	private static final String OUTPUT_PATH = "C:\\temp\\out.txt";

	public static void main(String[] args) throws Exception {
		//Holen Sie sich FileSystem
		FileSystem fs = FileSystems.getDefault();
		//Legen Sie den Dateipfad fest
		Path path = fs.getPath(INPUT_PATH);
		//Stellen Sie den Pfad für die Ausgabe ein
		Path out = fs.getPath(OUTPUT_PATH);

		//Lesen von Teil 1
		// Files.Lesen Sie mit Zeilen
		try (Stream<String> stream = Files.lines(path, StandardCharsets.UTF_8)) {
			stream.filter(s -> s.contains("link")).map(s -> s.replace("html", "form"))
					.map(s -> s.replace("action", "href")).forEach(System.out::println);
		} catch (IOException e) {
			System.out.println("error");
		}

		//Lesen von Teil 2
		// Files.Lesen Sie mit readAllLines
		List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
		List<String> output = new ArrayList<String>();
		lines.stream().filter(s -> s.contains("link")).forEach(s -> output.add(s));

		//Packen Sie die extrahierten Daten in eine Liste und geben Sie sie als Text aus
		Files.write(out, output, StandardCharsets.UTF_8, StandardOpenOption.APPEND);

		//Geben Sie die Ausgabedaten mit der erweiterten for-Anweisung aus und überprüfen Sie sie
		for (String put : output) {
			System.out.println(put);
		}
	}

}

Es scheint, dass der Zeichencode nur UTF-8 unterstützt und beim Versuch, mit Shift_Jis zu lesen, eine Ausnahme ausgelöst wird.

Ich möchte die Methode zum Lesen der Verzeichnishierarchie zu einem späteren Zeitpunkt veröffentlichen.

Recommended Posts

Ich habe versucht, die Java8 Stream API zu verwenden
Ich habe versucht, die Elasticsearch-API in Java zu verwenden
Ich habe versucht, Java REPL zu verwenden
Java Stream API
Ich habe versucht, JWT in Java zu verwenden
Ich habe versucht, Java Memo LocalDate zu verwenden
Ich habe versucht, Google HttpClient von Java zu verwenden
Datenverarbeitung mit der Stream-API von Java 8
Versuchen Sie es mit der Stream-API in Java
Ich habe versucht, OpenCV mit Java + Tomcat zu verwenden
Ich habe versucht, die Stream-API zusammenzufassen
Ich habe versucht, Gson zu benutzen
[Java] Stream API / Map
Ich habe versucht, TestNG zu verwenden
Ich habe versucht, Galasa zu benutzen
[API] Ich habe versucht, die Postleitzahlensuch-API zu verwenden
Java Stream API in 5 Minuten
Ich habe Drools (Java, InputStream) ausprobiert.
[Java] Stream API - Stream-Beendigungsverarbeitung
[Java] Stream API - Stream Zwischenverarbeitung
Ich habe versucht, Apache Wicket zu verwenden
Ich habe versucht, node-jt400 (SQL-Stream)
[Java] Einführung in die Stream-API
[Java] Stream API Zwischenoperation
Ich habe versucht, Metaprogrammierung mit Java
Versuchte Mastodons Toot- und Streaming-API in Java
Ich habe versucht, SQS mit AWS Java SDK zu betreiben
Ich habe den Eingabe- / Ausgabetyp von Java Lambda ~ Stream Version ~ ausprobiert
Ich habe versucht, Log4j2 auf einem Java EE-Server zu verwenden
[Java] Ich habe versucht, die Yahoo API-Produktsuche zu implementieren
Ich habe versucht, die erweiterte for-Anweisung in Java zu verwenden
Ich habe versucht, ein Aktienchart mit Java (Jsoup) zu kratzen.
Exportieren Sie ein Problem mithilfe der Java-API von JIRA
Ich habe versucht, Spring + Mybatis + DbUnit zu verwenden
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, UDP mit Java zu kommunizieren
Ich habe das Java-Framework "Quarkus" ausprobiert.
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
Ich habe versucht, Dapr in Java zu verwenden, um die Entwicklung von Mikroservices zu erleichtern
[Android] Ich habe versucht, das Koordinatorlayout zu verwenden.
Ich war seltsamerweise süchtig danach, Javas Stream-API mit Scala zu verwenden
Ich habe versucht, Pari GP Container zu verwenden
Ich habe versucht, WebAssembly Stadio (Version 2018/4/17) zu verwenden.
Java 8 ~ Stream API ~ startet jetzt
Ich habe jetzt versucht, Java 8 zusammenzufassen
Ich habe versucht, die CameraX-Bibliothek mit Android Java Fragment zu verwenden
Ich habe versucht, den Kalender mit Java auf der Eclipse-Konsole anzuzeigen.
Ich habe versucht, Realm mit Swift UI zu verwenden
Ich habe versucht, das Java-Diagnosetool Arthas zu verwenden
Ich habe versucht, UICollectionViewListCell zu verwenden, das von Xcode12 hinzugefügt wurde.
Ich habe Cassandras Object Mapper für Java ausprobiert
Java9 war enthalten, also habe ich jshell ausprobiert.
Ich habe versucht, Scalar DL mit Docker zu verwenden
Mit Java Stream nach mehreren Bedingungen sortieren
Ich habe das neue Yuan-Problem in Java ausprobiert
Versuchen Sie es mit der JSON-Format-API in Java
Ich habe versucht, OnlineConverter mit SpringBoot + JODConverter zu verwenden
Probieren Sie verschiedene Java Stream API-Methoden aus (jetzt)