Files
uni/second/semester1/CT255/Assessment/CT255-Assignment-3/ogStegano1.java
2023-12-07 01:19:12 +00:00

117 lines
2.9 KiB
Java

/**
* CT255 - Assignment 3
* Skeleton code for Steganography assignment.
*
* @author Michael Schukat
* @version 1.0
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Stegano1
{
/**
* Constructor for objects of class Stegano1
*/
public Stegano1()
{
}
public static void main(String[] args) {
String arg1, arg2, arg3, arg4;
Boolean err = false;
if (args != null && args.length > 1) { // Check for minimum number of arguments
arg1 = args[0];
arg2 = args[1];
if (arg2 == "") {
err = true;
}
else if ((arg1 == "A") && (args.length > 3)){
// Get other arguments
arg3 = args[2];
arg4 = args[3];
if (arg3 == "" || arg4 == "") {
err = true;
}
else {
// Hide bitstring
hide(arg2, arg3, arg4);
}
}
else if (arg1 == "E"){
// Extract bitstring from text
retrieve(arg2);
}
else {
err = true;
}
}
else {
err = true;
}
if (err == true) {
System.out.println();
System.out.println("Use: Stegano1 <A:E><Input File><OutputFile><Bitstring>");
System.out.println("Example: Stegano1 A inp.txt out.txt 0010101");
System.out.println("Example: Stegano1 E inp.txt");
}
}
static void hide(String inpFile, String outFile, String binString) {
//
BufferedReader reader;
BufferedWriter writer;
try {
reader = new BufferedReader(new FileReader(inpFile));
writer = new BufferedWriter(new FileWriter(outFile));
String line = reader.readLine();
while (line != null) {
// Your code starts here
// Store amended line in output file
writer.write(line);
writer.newLine();
// read next line
line = reader.readLine();
}
reader.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
static void retrieve(String inpFile) {
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader(inpFile));
String line = reader.readLine();
while (line != null) {
// Your code starts here
// System.out.println(line);
// read next line
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}