117 lines
2.9 KiB
Java
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();
|
|
}
|
|
|
|
}
|
|
}
|