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 ObjectOutputInputStreamExample {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.examplehub.basics.io;

public class RandomAccessFileExample {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
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 User implements Serializable{
//@Serial TODO
private static final long serialVersionUID = 100L;
private final String username;
private final String password;
private final int age;

public User(String username, String password, int age) {
this.username = username;
this.password = password;
this.age = age;
}

@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
", age=" + age +
'}';
}
}
class ObjectOutputInputStreamExampleTest {
@Test
void testWriteRead() throws IOException, ClassNotFoundException {

User user = new User("root", "112233", 25);
String filename = "user.db";
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(filename))) {
oos.writeObject(user);
}
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filename))) {
User readUser = (User) ois.readObject();
assertEquals(user.toString(), readUser.toString());
}
assertTrue(Files.deleteIfExists(Paths.get(filename)));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.examplehub.basics.io;

import org.junit.jupiter.api.Test;

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

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

class RandomAccessFileExampleTest {
@Test
void testSeek() throws IOException {
String filename = "example.txt";
try(PrintStream printStream = new PrintStream(new FileOutputStream(filename));
RandomAccessFile randomAccessFile = new RandomAccessFile(filename, "rw")) {
printStream.write("Java".getBytes(StandardCharsets.UTF_8));
printStream.flush();

assertEquals('J', randomAccessFile.read());
randomAccessFile.seek(2);
assertEquals('v', randomAccessFile.read());
randomAccessFile.write("123".getBytes(StandardCharsets.UTF_8));
randomAccessFile.seek(0);
assertEquals("Jav123", randomAccessFile.readLine());
}
assertTrue(Files.deleteIfExists(Paths.get(filename)));
}
}