Initial commit of processing files with java streams code samples
This commit is contained in:
39
core-java/streams/fileswithstreams/.classpath
Normal file
39
core-java/streams/fileswithstreams/.classpath
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||
<attributes>
|
||||
<attribute name="test" value="true"/>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
||||
<attributes>
|
||||
<attribute name="test" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
1
core-java/streams/fileswithstreams/.gitignore
vendored
Normal file
1
core-java/streams/fileswithstreams/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/target/
|
||||
23
core-java/streams/fileswithstreams/.project
Normal file
23
core-java/streams/fileswithstreams/.project
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>fileswithstreams</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,16 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=disabled
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
@@ -0,0 +1,4 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
8
core-java/streams/fileswithstreams/pom.xml
Normal file
8
core-java/streams/fileswithstreams/pom.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>fileswithstreams</groupId>
|
||||
<artifactId>fileswithstreams</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>fileswithstreams</name>
|
||||
<description>File management with streams</description>
|
||||
</project>
|
||||
@@ -0,0 +1,80 @@
|
||||
package io.reflectoring.fileswithstreams;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.jar.JarEntry;
|
||||
import java.util.jar.JarFile;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class FilesWithStreams {
|
||||
public static final String fileName = "src/main/resources/paths.properties";
|
||||
static String folderPath = "src/main/resources/books";
|
||||
static String filePath = "src/main/resources/books/bookIndex.txt";
|
||||
static String jarFile = "src/main/resources/books/books.zip";
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
// processWithStream();
|
||||
// readLineByLineUsingFiles();
|
||||
readLineByLineUsingBufferedReader();
|
||||
readFilterCountUsingFiles();
|
||||
// printJarFileContents();
|
||||
// printMatchingJarEntries();
|
||||
// readWithParallelStreamAndPrint();
|
||||
}
|
||||
|
||||
static void processWithStream() {
|
||||
List<String> cities = Arrays.asList("London", "Sydney", "Colombo", "Cairo", "Beijing");
|
||||
cities.stream().filter(a -> a.startsWith("C")).map(String::toUpperCase).sorted().forEach(System.out::println);
|
||||
|
||||
}
|
||||
|
||||
static void readLineByLineUsingFiles() throws IOException {
|
||||
try (Stream<String> lines = Files.lines(Path.of(filePath))) {
|
||||
lines.forEach(System.out::println);
|
||||
}
|
||||
}
|
||||
|
||||
static void readLineByLineUsingBufferedReader() throws IOException {
|
||||
try (Stream<String> lines = (Files.newBufferedReader(Paths.get(filePath)).lines())) {
|
||||
lines.forEach(System.out::println);
|
||||
}
|
||||
}
|
||||
|
||||
static void readFilterCountUsingFiles() throws IOException {
|
||||
try (Stream<String> lines = Files.lines(Path.of(filePath))) {
|
||||
long i = lines.filter(line -> line.startsWith("A")).count();
|
||||
System.out.println("Count of lines starting with 'A' is " + i);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static void printJarFileContents() throws IOException {
|
||||
try (JarFile jFile = new JarFile(jarFile)) {
|
||||
jFile.stream().forEach(file -> System.out.println(file));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static void printMatchingJarEntries() throws IOException {
|
||||
try (JarFile jFile = new JarFile(jarFile)) {
|
||||
Optional<JarEntry> searchResult = jFile.stream().filter(file -> file.getName().contains("Matilda"))
|
||||
.findAny();
|
||||
System.out.println(searchResult.get());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static void readWithParallelStreamAndPrint() throws IOException {
|
||||
|
||||
List<String> lines = Files.readAllLines(Path.of(filePath));
|
||||
try (Stream<String> stream = lines.parallelStream()) {
|
||||
stream.forEach(System.out::println);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
Pride and Prejudice- pride-and-prejudice.pdf
|
||||
Anne of Avonlea - anne-of-avonlea.pdf
|
||||
Anne of Green Gables - anne-of-green-gables.pdf
|
||||
Matilda - Matilda.pdf
|
||||
Why Icebergs Float - Why-Icebergs-Float.pdf
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
Master, you are the sole goal of human life
|
||||
We are all but slaves of wishes
|
||||
Putting bar to our advancement
|
||||
You are the one and only true lord who can bring us upto that level
|
||||
@@ -0,0 +1 @@
|
||||
/home/u1026/workspace/Learn/junit-5-basics/src/main/resources/books/
|
||||
Reference in New Issue
Block a user