[BAEL-2255] - apply requested changes from code review
This commit is contained in:
parent
dc5640c86b
commit
67cfde81f3
@ -3,7 +3,6 @@ package com.baeldung.bufferedreader;
|
|||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
public class BufferedReaderExample {
|
public class BufferedReaderExample {
|
||||||
|
|
||||||
@ -19,7 +18,7 @@ public class BufferedReaderExample {
|
|||||||
return content.toString();
|
return content.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String readAllLines2(BufferedReader reader) {
|
public String readAllLinesWithStream(BufferedReader reader) {
|
||||||
StringBuilder content = new StringBuilder();
|
StringBuilder content = new StringBuilder();
|
||||||
reader.lines()
|
reader.lines()
|
||||||
.forEach(line -> content.append(line)
|
.forEach(line -> content.append(line)
|
||||||
@ -38,18 +37,14 @@ public class BufferedReaderExample {
|
|||||||
return content.toString();
|
return content.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String readAllCharacters2(BufferedReader reader) throws IOException {
|
public String readAllCharactersUsingArray(BufferedReader reader) throws IOException {
|
||||||
StringBuilder content = new StringBuilder();
|
StringBuilder content = new StringBuilder();
|
||||||
|
|
||||||
String title = "text: ";
|
char[] buf = new char[512];
|
||||||
char[] buf = Arrays.copyOf(title.toCharArray(), 512);
|
|
||||||
int offset = title.length();
|
|
||||||
|
|
||||||
int charsRead;
|
int charsRead;
|
||||||
|
|
||||||
while ((charsRead = reader.read(buf, offset, buf.length - offset)) != -1) {
|
while ((charsRead = reader.read(buf, 0, buf.length)) != -1) {
|
||||||
content.append(buf, 0, offset + charsRead);
|
content.append(buf, 0, charsRead);
|
||||||
content.append(" --- ");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return content.toString();
|
return content.toString();
|
||||||
@ -67,24 +62,29 @@ public class BufferedReaderExample {
|
|||||||
return content.toString();
|
return content.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void markAndReset(BufferedReader reader) throws IOException {
|
public String markAndReset(BufferedReader reader) throws IOException {
|
||||||
|
StringBuilder content = new StringBuilder();
|
||||||
|
|
||||||
reader.mark(512);
|
reader.mark(512);
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
System.out.println(reader.readLine());
|
content.append(reader.readLine());
|
||||||
reader.reset();
|
reader.reset();
|
||||||
reader.mark(512);
|
reader.mark(512);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return content.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void readFile() {
|
public String readFile() {
|
||||||
BufferedReader reader = null;
|
BufferedReader reader = null;
|
||||||
try {
|
try {
|
||||||
reader = new BufferedReader(new FileReader("src/main/resources/input.txt"));
|
reader = new BufferedReader(new FileReader("src/main/resources/input.txt"));
|
||||||
String content = readAllLines(reader);
|
String content = readAllLines(reader);
|
||||||
System.out.println(content);
|
return content;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
return null;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (reader != null) {
|
if (reader != null) {
|
||||||
@ -96,12 +96,13 @@ public class BufferedReaderExample {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void readFileTryWithResources() {
|
public String readFileTryWithResources() {
|
||||||
try (BufferedReader reader = new BufferedReader(new FileReader("src/main/resources/input.txt"))) {
|
try (BufferedReader reader = new BufferedReader(new FileReader("src/main/resources/input.txt"))) {
|
||||||
String content = readAllLines(reader);
|
String content = readAllLines(reader);
|
||||||
System.out.println(content);
|
return content;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package com.baeldung.bufferedreader;
|
package com.baeldung.bufferedreader;
|
||||||
|
|
||||||
import org.junit.After;
|
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
@ -13,23 +13,6 @@ public class BufferedReaderExampleUnitTest {
|
|||||||
|
|
||||||
public static final String FILE_NAME = "src/main/resources/input.txt";
|
public static final String FILE_NAME = "src/main/resources/input.txt";
|
||||||
|
|
||||||
private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
|
|
||||||
private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
|
|
||||||
private final PrintStream originalOut = System.out;
|
|
||||||
private final PrintStream originalErr = System.err;
|
|
||||||
|
|
||||||
@Before
|
|
||||||
public void setup() {
|
|
||||||
System.setOut(new PrintStream(outContent));
|
|
||||||
System.setErr(new PrintStream(errContent));
|
|
||||||
}
|
|
||||||
|
|
||||||
@After
|
|
||||||
public void restore() {
|
|
||||||
System.setOut(originalOut);
|
|
||||||
System.setErr(originalErr);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenBufferedReader_whenReadAllLines_thenReturnsContent() throws IOException {
|
public void givenBufferedReader_whenReadAllLines_thenReturnsContent() throws IOException {
|
||||||
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
||||||
@ -42,22 +25,22 @@ public class BufferedReaderExampleUnitTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenBufferedReader_whenReadAllLines2_thenReturnsContent() throws IOException {
|
public void givenBufferedReader_whenReadAllLinesWithStream_thenReturnsContent() throws IOException {
|
||||||
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
||||||
|
|
||||||
BufferedReaderExample bre = new BufferedReaderExample();
|
BufferedReaderExample bre = new BufferedReaderExample();
|
||||||
String content = bre.readAllLines2(reader);
|
String content = bre.readAllLinesWithStream(reader);
|
||||||
|
|
||||||
assertThat(content).isNotEmpty();
|
assertThat(content).isNotEmpty();
|
||||||
assertThat(content).contains("Lorem ipsum");
|
assertThat(content).contains("Lorem ipsum");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenReadFile_thenOutputsContent() {
|
public void whenReadFile_thenReturnsContent() {
|
||||||
BufferedReaderExample bre = new BufferedReaderExample();
|
BufferedReaderExample bre = new BufferedReaderExample();
|
||||||
bre.readFile();
|
String content = bre.readFile();
|
||||||
|
|
||||||
assertThat(outContent.toString()).contains("Lorem ipsum");
|
assertThat(content.toString()).contains("Lorem ipsum");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -72,11 +55,11 @@ public class BufferedReaderExampleUnitTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenBufferedReader_whenReadAllCharacter2_thenReturnsContent() throws IOException {
|
public void givenBufferedReader_whenReadAllCharactersUsingArray_thenReturnsContent() throws IOException {
|
||||||
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
||||||
|
|
||||||
BufferedReaderExample bre = new BufferedReaderExample();
|
BufferedReaderExample bre = new BufferedReaderExample();
|
||||||
String content = bre.readAllCharacters2(reader);
|
String content = bre.readAllCharactersUsingArray(reader);
|
||||||
|
|
||||||
assertThat(content).isNotEmpty();
|
assertThat(content).isNotEmpty();
|
||||||
assertThat(content).contains("Lorem ipsum");
|
assertThat(content).contains("Lorem ipsum");
|
||||||
@ -94,22 +77,22 @@ public class BufferedReaderExampleUnitTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenBufferedReader_whenMarkAndReset_thenOutputsRepeatedContent() throws IOException {
|
public void givenBufferedReader_whenMarkAndReset_thenReturnsRepeatedContent() throws IOException {
|
||||||
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
||||||
|
|
||||||
BufferedReaderExample bre = new BufferedReaderExample();
|
BufferedReaderExample bre = new BufferedReaderExample();
|
||||||
bre.markAndReset(reader);
|
String content = bre.markAndReset(reader);
|
||||||
|
|
||||||
assertThat(outContent.toString()).isNotEmpty();
|
assertThat(content.toString()).isNotEmpty();
|
||||||
assertThat(StringUtils.countOccurrencesOf(outContent.toString(), "Lorem ipsum")).isEqualTo(3);
|
assertThat(StringUtils.countOccurrencesOf(content.toString(), "Lorem ipsum")).isEqualTo(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenReadFileTryWithResources_thenOutputsContent() {
|
public void whenReadFileTryWithResources_thenReturnsContent() {
|
||||||
BufferedReaderExample bre = new BufferedReaderExample();
|
BufferedReaderExample bre = new BufferedReaderExample();
|
||||||
bre.readFileTryWithResources();
|
String content = bre.readFileTryWithResources();
|
||||||
|
|
||||||
assertThat(outContent.toString()).contains("Lorem ipsum");
|
assertThat(content.toString()).contains("Lorem ipsum");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user