diff --git a/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/CommonsFileUtilsExample.java b/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/CommonsFileUtilsExample.java new file mode 100644 index 000000000000..2ee17dca79da --- /dev/null +++ b/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/CommonsFileUtilsExample.java @@ -0,0 +1,18 @@ +package com.baeldung.fileparser; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.io.FileUtils; + +public class CommonsFileUtilsExample { + + static ArrayList generateArrayListFromFile(String filename) throws IOException { + List result = FileUtils.readLines(new File(filename), "utf-8"); + + return new ArrayList<>(result); + } + +} diff --git a/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/FilesLinesExample.java b/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/FilesLinesExample.java new file mode 100644 index 000000000000..2b93abd8a4db --- /dev/null +++ b/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/FilesLinesExample.java @@ -0,0 +1,20 @@ +package com.baeldung.fileparser; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class FilesLinesExample { + + static ArrayList generateArrayListFromFile(String filename) throws IOException { + + try (Stream lines = Files.lines(Paths.get(filename))) { + return lines.collect(Collectors.toCollection(ArrayList::new)); + } + + } + +} diff --git a/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/GuavaFilesExample.java b/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/GuavaFilesExample.java new file mode 100644 index 000000000000..a2bc21d177ca --- /dev/null +++ b/core-java-modules/core-java-io/src/main/java/com/baeldung/fileparser/GuavaFilesExample.java @@ -0,0 +1,19 @@ +package com.baeldung.fileparser; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.List; + +import com.google.common.io.Files; + +public class GuavaFilesExample { + + static ArrayList generateArrayListFromFile(String filename) throws IOException { + List result = Files.readLines(new File(filename), Charset.forName("utf-8")); + + return new ArrayList<>(result); + } + +} diff --git a/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/CommonsFileUtilsExampleUnitTest.java b/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/CommonsFileUtilsExampleUnitTest.java new file mode 100644 index 000000000000..8d2c59618240 --- /dev/null +++ b/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/CommonsFileUtilsExampleUnitTest.java @@ -0,0 +1,20 @@ +package com.baeldung.fileparser; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; +import java.util.List; + +import org.junit.jupiter.api.Test; + +class CommonsFileUtilsExampleUnitTest { + + private static final String TEXT_FILENAME = "src/test/resources/sampleTextFile.txt"; + + @Test + void whenParsingExistingTextFile_thenGetArrayList() throws IOException { + List lines = CommonsFileUtilsExample.generateArrayListFromFile(TEXT_FILENAME); + assertTrue(lines.size() == 2, "File does not has 2 lines"); + } + +} diff --git a/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/FilesLinesExampleUnitTest.java b/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/FilesLinesExampleUnitTest.java new file mode 100644 index 000000000000..8f8579809b20 --- /dev/null +++ b/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/FilesLinesExampleUnitTest.java @@ -0,0 +1,20 @@ +package com.baeldung.fileparser; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; +import java.util.List; + +import org.junit.jupiter.api.Test; + +class FilesLinesExampleUnitTest { + + private static final String TEXT_FILENAME = "src/test/resources/sampleTextFile.txt"; + + @Test + void whenParsingExistingTextFile_thenGetArrayList() throws IOException { + List lines = FilesLinesExample.generateArrayListFromFile(TEXT_FILENAME); + assertTrue(lines.size() == 2, "File does not has 2 lines"); + } + +} diff --git a/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/GuavaFilesExampleUnitTest.java b/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/GuavaFilesExampleUnitTest.java new file mode 100644 index 000000000000..0e49c25beee1 --- /dev/null +++ b/core-java-modules/core-java-io/src/test/java/com/baeldung/fileparser/GuavaFilesExampleUnitTest.java @@ -0,0 +1,20 @@ +package com.baeldung.fileparser; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; +import java.util.List; + +import org.junit.jupiter.api.Test; + +class GuavaFilesExampleUnitTest { + + private static final String TEXT_FILENAME = "src/test/resources/sampleTextFile.txt"; + + @Test + void whenParsingExistingTextFile_thenGetArrayList() throws IOException { + List lines = GuavaFilesExample.generateArrayListFromFile(TEXT_FILENAME); + assertTrue(lines.size() == 2, "File does not has 2 lines"); + } + +}