Question: IN JAVA: . The encryption program should work like a filter, reading the contents of one file, modifying the data into code, and then writing
IN JAVA: . The encryption program should work like a filter, reading the contents of one file, modifying the data into code, and then writing the code contents out to a second file. The second file will be a version of the first file, but written in a secret code. Although there are complex encryption techniques, you should come up with a simple one of your own. For example, you could read the first file one character at a time and add 10 to the character code of each character before it is written to the second file.
I HAVE THE FOLLOWING CODE, I know it doesnt follow the instructions but I want it to be able to get input from the user as well, so I just want you to incorporate the intructions above to my original code. thank you. also im using Java JOptionPane swing function.
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import javax.swing.JOptionPane;
//ROT encryption algorithm is implemented
public class Project {
public static void main(String args[]) throws IOException {
Scanner scan = new Scanner(System.in);
String letter = "";
String rotValue = "";
Project proj = new Project();
if(args.length >= 1) {
for (String arg : args) {
letter += arg + " ";
}
}
else {
String input = JOptionPane.showInputDialog("Enter your phrase: ");
letter= input;
}
rotValue = proj.convert(letter);
JOptionPane.showMessageDialog(null,"" + rotValue);
}
public String convert(String str) throws IOException {
FileInputStream fis;
fis = new FileInputStream("D:/text.txt");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String readline = "";
readline = br.readLine();
while(readline != null)
{
System.out.println(readline);
readline = br.readLine();
}
StringBuilder val = new StringBuilder();
for(char a:str.toCharArray()) {
if(a >= 'A' && a <= 'Z') {
a += 13;
if(a > 'Z') {
a -= 26;
}
}
else if(a >= 'a' && a <= 'z') {
a += 13;
if(a > 'z') {
a -= 26;
}
}
val.append(a);
}
return val.toString();
}
}
please upload new code with output of the program . thanks.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
