Skip to content

Commit cd53181

Browse files
authored
Merge branch 'eugenp:master' into master
2 parents d5f9694 + 85cf70d commit cd53181

File tree

337 files changed

+3332
-754
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

337 files changed

+3332
-754
lines changed

core-java-modules/core-java-collections-7/src/main/java/com/baeldung/PrintStack.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.ArrayDeque;
44
import java.util.ArrayList;
5+
import java.util.Collections;
56
import java.util.Comparator;
67
import java.util.Deque;
78
import java.util.Iterator;
@@ -42,13 +43,12 @@ public static void givenStack_whenUsingDirectForEach_thenPrintStack() {
4243

4344
public static void givenStack_whenUsingStreamReverse_thenPrintStack() {
4445
Stack<Integer> stack = new Stack<>();
45-
stack.push(10);
4646
stack.push(20);
47+
stack.push(10);
4748
stack.push(30);
4849

49-
stack.stream()
50-
.sorted(Comparator.reverseOrder())
51-
.forEach(System.out::println);
50+
Collections.reverse(stack);
51+
stack.forEach(System.out::println);
5252
}
5353

5454
public static void givenStack_whenUsingIterator_thenPrintStack() {

core-java-modules/core-java-collections-7/src/test/java/com/baeldung/printstack/PrintStackUnitTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ void givenStack_whenUsingDirectForEach_thenPrintStack() throws Exception {
3030
@Test
3131
void givenStack_whenUsingStreamReverse_thenPrintStack() throws Exception {
3232
String output = tapSystemOut(() -> PrintStack.givenStack_whenUsingStreamReverse_thenPrintStack());
33-
assertEquals("30\n20\n10\n", output.replace("\r\n", "\n"));
33+
assertEquals("30\n10\n20\n", output.replace("\r\n", "\n"));
3434
}
3535

3636
@Test
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<artifactId>core-java-io-8</artifactId>
7+
<packaging>jar</packaging>
8+
<name>core-java-io-8</name>
9+
10+
<parent>
11+
<groupId>com.baeldung.core-java-modules</groupId>
12+
<artifactId>core-java-modules</artifactId>
13+
<version>0.0.1-SNAPSHOT</version>
14+
</parent>
15+
16+
<build>
17+
<plugins>
18+
<plugin>
19+
<groupId>org.apache.maven.plugins</groupId>
20+
<artifactId>maven-compiler-plugin</artifactId>
21+
<version>${maven-compiler-plugin.version}</version>
22+
<configuration>
23+
<source>${java.version}</source>
24+
<target>${java.version}</target>
25+
<annotationProcessorPaths>
26+
<path>
27+
<groupId>org.openjdk.jmh</groupId>
28+
<artifactId>jmh-generator-annprocess</artifactId>
29+
<version>${jmh-generator.version}</version>
30+
</path>
31+
</annotationProcessorPaths>
32+
</configuration>
33+
</plugin>
34+
</plugins>
35+
</build>
36+
37+
</project>
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
package com.baeldung.replacewordinfile;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import java.io.BufferedReader;
6+
import java.io.File;
7+
import java.io.FileWriter;
8+
import java.io.IOException;
9+
import java.nio.charset.StandardCharsets;
10+
import java.nio.file.Files;
11+
import java.nio.file.Paths;
12+
import java.nio.file.StandardOpenOption;
13+
import java.util.List;
14+
import java.util.Scanner;
15+
import java.util.stream.Collectors;
16+
import java.util.stream.Stream;
17+
18+
import org.apache.commons.io.FileUtils;
19+
import org.junit.jupiter.api.Test;
20+
21+
public class ReplaceWordInFileUnitTest {
22+
23+
private static final String FILE_PATH = "src/test/resources/data.txt";
24+
private static final String FILE_OUTPUT_PATH = "src/test/resources/data_output.txt";
25+
private static final String OUTPUT_TO_VERIFY = "This is a test file."+System.lineSeparator()+"This is a test file."+System.lineSeparator()+"This is a test file.";
26+
27+
@Test
28+
public void givenFile_whenUsingBufferedReader_thenReplacedWordCorrect() throws IOException {
29+
StringBuilder fileContent = new StringBuilder();
30+
try (BufferedReader br = Files.newBufferedReader(Paths.get(FILE_PATH))) {
31+
String line;
32+
while ((line = br.readLine()) != null){
33+
fileContent.append(line).append(System.lineSeparator());
34+
}
35+
String replacedContent = fileContent.toString().replace("sample","test").trim();
36+
try (FileWriter fw = new FileWriter(FILE_OUTPUT_PATH)) {
37+
fw.write(replacedContent);
38+
}
39+
40+
assertEquals(OUTPUT_TO_VERIFY,replacedContent);
41+
}
42+
}
43+
44+
@Test
45+
public void givenFile_whenUsingScanner_thenReplacedWordCorrect() throws IOException {
46+
StringBuilder fileContent = new StringBuilder();
47+
try (Scanner scanner = new Scanner(new File(FILE_PATH))) {
48+
while (scanner.hasNextLine()){
49+
fileContent.append(scanner.nextLine()).append(System.lineSeparator());
50+
}
51+
String replacedContent = fileContent.toString().replace("sample","test").trim();
52+
try (FileWriter fw = new FileWriter(FILE_OUTPUT_PATH)) {
53+
fw.write(replacedContent);
54+
}
55+
56+
assertEquals(OUTPUT_TO_VERIFY,replacedContent);
57+
}
58+
}
59+
60+
@Test
61+
public void givenFile_whenUsingFilesAPI_thenReplacedWordCorrect() throws IOException{
62+
try (Stream<String> lines = Files.lines(Paths.get(FILE_PATH))) {
63+
List<String> list = lines.map(line -> line.replace("sample", "test"))
64+
.collect(Collectors.toList());
65+
Files.write(Paths.get(FILE_OUTPUT_PATH), list, StandardCharsets.UTF_8);
66+
67+
assertEquals(OUTPUT_TO_VERIFY,String.join(System.lineSeparator(), list));
68+
}
69+
}
70+
71+
@Test
72+
public void givenFile_whenUsingFileUtils_thenReplacedWordCorrect() throws IOException{
73+
StringBuilder fileContent = new StringBuilder();
74+
List<String> lines = FileUtils.readLines(new File(FILE_PATH), "UTF-8");
75+
lines.forEach(line -> fileContent.append(line).append(System.lineSeparator()));
76+
String replacedContent = fileContent.toString().replace("sample","test").trim();
77+
try (FileWriter fw = new FileWriter(FILE_OUTPUT_PATH)) {
78+
fw.write(replacedContent);
79+
}
80+
81+
assertEquals(OUTPUT_TO_VERIFY,replacedContent);
82+
}
83+
84+
@Test
85+
public void givenLargeFile_whenUsingFilesAPI_thenReplacedWordCorrect() throws IOException{
86+
try (Stream<String> lines = Files.lines(Paths.get(FILE_PATH))) {
87+
Files.writeString(Paths.get(FILE_OUTPUT_PATH), "",StandardCharsets.UTF_8, StandardOpenOption.CREATE,StandardOpenOption.TRUNCATE_EXISTING);
88+
lines.forEach(line -> {
89+
line = line.replace("sample", "test") + System.lineSeparator();
90+
try {
91+
Files.writeString(Paths.get(FILE_OUTPUT_PATH),line,StandardCharsets.UTF_8, StandardOpenOption.APPEND);
92+
} catch (IOException e) {
93+
throw new RuntimeException(e);
94+
}
95+
});
96+
97+
assertEquals(OUTPUT_TO_VERIFY,Files.readString(Paths.get(FILE_OUTPUT_PATH)).trim());
98+
}
99+
}
100+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This is a sample file.
2+
This is a sample file.
3+
This is a sample file.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This is a test file.
2+
This is a test file.
3+
This is a test file.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<artifactId>core-java-lambdas-2</artifactId>
7+
<packaging>jar</packaging>
8+
<name>core-java-lambdas-2</name>
9+
10+
<parent>
11+
<groupId>com.baeldung.core-java-modules</groupId>
12+
<artifactId>core-java-modules</artifactId>
13+
<version>0.0.1-SNAPSHOT</version>
14+
</parent>
15+
16+
</project>

core-java-modules/core-java-lambdas/src/main/java/com/baeldung/anonymousclass/EmailSenderService.java renamed to core-java-modules/core-java-lambdas-2/src/main/java/com/baeldung/anonymousclass/EmailSenderService.java

File renamed without changes.

core-java-modules/core-java-lambdas/src/main/java/com/baeldung/anonymousclass/Sender.java renamed to core-java-modules/core-java-lambdas-2/src/main/java/com/baeldung/anonymousclass/Sender.java

File renamed without changes.

core-java-modules/core-java-lambdas/src/main/java/com/baeldung/anonymousclass/SenderService.java renamed to core-java-modules/core-java-lambdas-2/src/main/java/com/baeldung/anonymousclass/SenderService.java

File renamed without changes.

0 commit comments

Comments
 (0)