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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!