Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.examplehub.basics.io;

public class BufferInputStreamExample {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.examplehub.basics.io;

public class BufferReaderExample {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.examplehub.basics.io;

public class DataInputStreamExample {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.examplehub.basics.io;

public class DataOutputStreamExample {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.examplehub.basics.io;

public class PrintStreamExample {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.examplehub.basics.io;

import org.junit.jupiter.api.Test;

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;

import static org.junit.jupiter.api.Assertions.*;

class BufferInputStreamExampleTest {
@Test
void testCopyFile() throws IOException {
String filename = "pom.xml";
String newFileName = "pom_bk.xml";
try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(filename));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFileName))) {
byte[] buffer = new byte[1024];
int readBytes;
while ((readBytes = bis.read(buffer)) != -1) {
bos.write(buffer, 0, readBytes);
bos.flush();
}
assertEquals(new File(filename).length(), new File(newFileName).length());
}
assertTrue(Files.deleteIfExists(Paths.get(newFileName)));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.examplehub.basics.io;

import org.junit.jupiter.api.Test;

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;

import static org.junit.jupiter.api.Assertions.*;

class BufferReaderExampleTest {
@Test
void testCopyFile() throws IOException {
String filename = "pom.xml";
String newFileName = "pom_bk.xml";
try (BufferedReader bufferedReader = new BufferedReader(new FileReader(filename));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(newFileName))) {
String line = bufferedReader.readLine();
while (line != null) {
String nextLine = bufferedReader.readLine();
bufferedWriter.write(line);
if (nextLine != null) {
bufferedWriter.write(System.lineSeparator());
}
bufferedWriter.flush();
line = nextLine;
}
assertEquals(new File(filename).length(), new File(newFileName).length());
}
assertTrue(Files.deleteIfExists(Paths.get(newFileName)));
}
}
3 changes: 3 additions & 0 deletions src/test/java/com/examplehub/basics/io/CreateFolderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import static org.junit.jupiter.api.Assertions.*;


import com.examplehub.basics.io.CreateFolder;

import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.examplehub.basics.io;

import org.junit.jupiter.api.Test;

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;

import static org.junit.jupiter.api.Assertions.*;

class DataInputStreamExampleTest {
@Test
void testRead() throws IOException {
String filename = "example.txt";
try (DataOutputStream dataOutputStream = new DataOutputStream(new FileOutputStream(filename));
DataInputStream dataInputStream = new DataInputStream(new FileInputStream(filename))) {
dataOutputStream.writeInt(97);
dataOutputStream.flush();

assertEquals(97, dataInputStream.readInt());
}
assertTrue(Files.deleteIfExists(Paths.get(filename)));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.examplehub.basics.io;

import org.junit.jupiter.api.Test;

import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

import static org.junit.jupiter.api.Assertions.*;

class DataOutputStreamExampleTest {
@Test
void testWriteInt() throws IOException {
String filename = "example.txt";
try(DataOutputStream dataOutputStream = new DataOutputStream(new FileOutputStream(filename))) {
dataOutputStream.writeInt(97);
}
assertTrue(Files.deleteIfExists(Paths.get(filename)));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ void testIsDirectory() {

@Test
void testCreateDelete() throws IOException {
File file = new File("example.txt");
File file = new File("demo.txt");
assertTrue(file.createNewFile());
assertTrue(file.delete());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;

import org.junit.jupiter.api.Test;

class FileOutputStreamExampleTest {
Expand Down Expand Up @@ -40,8 +43,8 @@ void testCopyFile() throws IOException {
while ((readBytes = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, readBytes);
}
assertEquals(new File(srcPath).length(), new File(destPath).length());
}

assertTrue(DeleteFile.deleteFile("pom.xml.bk"));
Files.deleteIfExists(Paths.get(destPath));
}
}
74 changes: 61 additions & 13 deletions src/test/java/com/examplehub/basics/io/FileReaderExampleTest.java
Original file line number Diff line number Diff line change
@@ -1,33 +1,81 @@
package com.examplehub.basics.io;

import com.examplehub.utils.StringUtils;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.nio.charset.StandardCharsets;
import org.junit.jupiter.api.Test;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;

import static org.junit.jupiter.api.Assertions.assertEquals;

class FileReaderExampleTest {

@Test
void testReadChar() throws IOException {
try (Reader reader = new FileReader("pom.xml", StandardCharsets.UTF_8)) {
void testReadSingleChar() throws IOException {
String filename = "example.txt";
try (Writer writer = new FileWriter(filename)) {
writer.write("Java");
}
try (Reader reader = new FileReader(filename)) {
assertEquals('J', reader.read());
assertEquals('a', reader.read());
assertEquals('v', reader.read());
assertEquals('a', reader.read());
assertEquals(-1, reader.read());
}
Files.deleteIfExists(Paths.get(filename));
}

@Test
void testReadChars() throws IOException {
String filename = "example.txt";
try (Writer writer = new FileWriter(filename)) {
writer.write("Java");
}
try (Reader reader = new FileReader(filename, StandardCharsets.UTF_8)) {
char[] letter = new char[4];
int index = 0;
int ch;
while ((ch = reader.read()) != -1) {
System.out.print((char) ch);
letter[index++] = (char) ch;
}
} finally {
System.out.println("read completed");
assertEquals("Java", new String(letter));
}
}

@Test
void testReadChars() throws IOException {
try (Reader reader = new FileReader("pom.xml", StandardCharsets.UTF_8)) {
void testReadCharsToArray() throws IOException {
String filename = "example.txt";
try (Writer writer = new FileWriter(filename)) {
writer.write("I love\n");
writer.write("Java");
}
try (Reader reader = new FileReader(filename, StandardCharsets.UTF_8)) {
char[] buffer = new char[1024];
int len = 0;
int len;
StringBuilder builder = new StringBuilder();
while ((len = reader.read(buffer)) != -1) {
System.out.print(StringUtils.toString(buffer, 0, len));
builder.append(StringUtils.toString(buffer, 0, len));
}
assertEquals("I love\nJava", builder.toString());
}
}

@Test
void testCopyCharacterFile() throws IOException {
String filename = "pom.xml";
String newFile = "pom_bk.xml";
try (Writer writer = new FileWriter(newFile); Reader reader = new FileReader(filename)) {
int ch;
while ((ch = reader.read()) != -1) {
writer.write(ch);
}
writer.flush();
assertEquals(new File(filename).length(), new File(newFile).length());
}finally {
Files.deleteIfExists(Paths.get(newFile));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,39 @@ void testWrite() throws IOException {
writer.write("hello");
}
assertEquals("hello", FileReaderExample.read(fileName));
Files.deleteIfExists(Paths.get("example.txt"));
Files.deleteIfExists(Paths.get(fileName));
}

@Test
void testWriteSingleChar() throws IOException{
String fileName = "example.txt";
try (Writer writer = new FileWriter(fileName)) {
writer.write('A');
writer.write(66); //write B
}
assertEquals("AB", FileReaderExample.read(fileName));
Files.deleteIfExists(Paths.get(fileName));
}

@Test
void testWriteCharArray() throws IOException{
char[] letters = {'J', 'a', 'v', 'a'};
String fileName = "example.txt";
try (Writer writer = new FileWriter(fileName)) {
writer.write(letters);
}
assertEquals("Java", FileReaderExample.read(fileName));
Files.deleteIfExists(Paths.get(fileName));
}

@Test
void testWriteOnesOfCharArray() throws IOException{
char[] letters = {'J', 'a', 'v', 'a'};
String fileName = "example.txt";
try (Writer writer = new FileWriter(fileName)) {
writer.write(letters, 1, 2);
}
assertEquals("av", FileReaderExample.read(fileName));
Files.deleteIfExists(Paths.get(fileName));
}
}
22 changes: 22 additions & 0 deletions src/test/java/com/examplehub/basics/io/PrintStreamExampleTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.examplehub.basics.io;

import org.junit.jupiter.api.Test;

import java.io.IOException;
import java.io.PrintStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;

import static org.junit.jupiter.api.Assertions.*;

class PrintStreamExampleTest {
@Test
void testPrint() throws IOException {
String filename = "example.txt";
PrintStream printStream = new PrintStream(filename);
printStream.write("Java".getBytes(StandardCharsets.UTF_8));
assertEquals("Java", FileReaderExample.read(filename));
assertTrue(Files.deleteIfExists(Paths.get(filename)));
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.examplehub.basics.io;

import java.io.File;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

import java.io.File;

class RecursionPrintDirectoryTest {

@Test
Expand Down