[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.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class BufferedReaderExample {
|
||||
|
||||
@ -19,7 +18,7 @@ public class BufferedReaderExample {
|
||||
return content.toString();
|
||||
}
|
||||
|
||||
public String readAllLines2(BufferedReader reader) {
|
||||
public String readAllLinesWithStream(BufferedReader reader) {
|
||||
StringBuilder content = new StringBuilder();
|
||||
reader.lines()
|
||||
.forEach(line -> content.append(line)
|
||||
@ -38,18 +37,14 @@ public class BufferedReaderExample {
|
||||
return content.toString();
|
||||
}
|
||||
|
||||
public String readAllCharacters2(BufferedReader reader) throws IOException {
|
||||
public String readAllCharactersUsingArray(BufferedReader reader) throws IOException {
|
||||
StringBuilder content = new StringBuilder();
|
||||
|
||||
String title = "text: ";
|
||||
char[] buf = Arrays.copyOf(title.toCharArray(), 512);
|
||||
int offset = title.length();
|
||||
|
||||
char[] buf = new char[512];
|
||||
int charsRead;
|
||||
|
||||
while ((charsRead = reader.read(buf, offset, buf.length - offset)) != -1) {
|
||||
content.append(buf, 0, offset + charsRead);
|
||||
content.append(" --- ");
|
||||
while ((charsRead = reader.read(buf, 0, buf.length)) != -1) {
|
||||
content.append(buf, 0, charsRead);
|
||||
}
|
||||
|
||||
return content.toString();
|
||||
@ -67,24 +62,29 @@ public class BufferedReaderExample {
|
||||
return content.toString();
|
||||
}
|
||||
|
||||
public void markAndReset(BufferedReader reader) throws IOException {
|
||||
public String markAndReset(BufferedReader reader) throws IOException {
|
||||
StringBuilder content = new StringBuilder();
|
||||
|
||||
reader.mark(512);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
System.out.println(reader.readLine());
|
||||
content.append(reader.readLine());
|
||||
reader.reset();
|
||||
reader.mark(512);
|
||||
}
|
||||
|
||||
return content.toString();
|
||||
}
|
||||
|
||||
public void readFile() {
|
||||
public String readFile() {
|
||||
BufferedReader reader = null;
|
||||
try {
|
||||
reader = new BufferedReader(new FileReader("src/main/resources/input.txt"));
|
||||
String content = readAllLines(reader);
|
||||
System.out.println(content);
|
||||
return content;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
} finally {
|
||||
try {
|
||||
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"))) {
|
||||
String content = readAllLines(reader);
|
||||
System.out.println(content);
|
||||
return content;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
package com.baeldung.bufferedreader;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
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;
|
||||
|
||||
@ -13,23 +13,6 @@ public class BufferedReaderExampleUnitTest {
|
||||
|
||||
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
|
||||
public void givenBufferedReader_whenReadAllLines_thenReturnsContent() throws IOException {
|
||||
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
||||
@ -42,22 +25,22 @@ public class BufferedReaderExampleUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenBufferedReader_whenReadAllLines2_thenReturnsContent() throws IOException {
|
||||
public void givenBufferedReader_whenReadAllLinesWithStream_thenReturnsContent() throws IOException {
|
||||
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
||||
|
||||
BufferedReaderExample bre = new BufferedReaderExample();
|
||||
String content = bre.readAllLines2(reader);
|
||||
String content = bre.readAllLinesWithStream(reader);
|
||||
|
||||
assertThat(content).isNotEmpty();
|
||||
assertThat(content).contains("Lorem ipsum");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenReadFile_thenOutputsContent() {
|
||||
public void whenReadFile_thenReturnsContent() {
|
||||
BufferedReaderExample bre = new BufferedReaderExample();
|
||||
bre.readFile();
|
||||
String content = bre.readFile();
|
||||
|
||||
assertThat(outContent.toString()).contains("Lorem ipsum");
|
||||
assertThat(content.toString()).contains("Lorem ipsum");
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -72,11 +55,11 @@ public class BufferedReaderExampleUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenBufferedReader_whenReadAllCharacter2_thenReturnsContent() throws IOException {
|
||||
public void givenBufferedReader_whenReadAllCharactersUsingArray_thenReturnsContent() throws IOException {
|
||||
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
||||
|
||||
BufferedReaderExample bre = new BufferedReaderExample();
|
||||
String content = bre.readAllCharacters2(reader);
|
||||
String content = bre.readAllCharactersUsingArray(reader);
|
||||
|
||||
assertThat(content).isNotEmpty();
|
||||
assertThat(content).contains("Lorem ipsum");
|
||||
@ -94,22 +77,22 @@ public class BufferedReaderExampleUnitTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenBufferedReader_whenMarkAndReset_thenOutputsRepeatedContent() throws IOException {
|
||||
public void givenBufferedReader_whenMarkAndReset_thenReturnsRepeatedContent() throws IOException {
|
||||
BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
|
||||
|
||||
BufferedReaderExample bre = new BufferedReaderExample();
|
||||
bre.markAndReset(reader);
|
||||
String content = bre.markAndReset(reader);
|
||||
|
||||
assertThat(outContent.toString()).isNotEmpty();
|
||||
assertThat(StringUtils.countOccurrencesOf(outContent.toString(), "Lorem ipsum")).isEqualTo(3);
|
||||
assertThat(content.toString()).isNotEmpty();
|
||||
assertThat(StringUtils.countOccurrencesOf(content.toString(), "Lorem ipsum")).isEqualTo(3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenReadFileTryWithResources_thenOutputsContent() {
|
||||
public void whenReadFileTryWithResources_thenReturnsContent() {
|
||||
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