Вроде с нормального файла получается абракадабра, потом из этой абракадабры получается исходный файл. Или тут какой-то особый механизм шифровки должен быть? Условие очень уж вольно интерпретируется🤔
package com.javarush.task.task18.task1826;
import java.io.*;
/*
Шифровка
*/
public class Solution {
public static void main(String[] args) {
switch (args[0]) {
case "-e":
try (BufferedReader reader = new BufferedReader(new FileReader(args[1]));
BufferedWriter writer = new BufferedWriter(new FileWriter(args[2]))) {
while (reader.ready()){
String line = reader.readLine();
char[] chars = line.toCharArray();
for (int a = 0; a < chars.length; a++){
chars[a] = (char) (chars[a] + 5);
}
String cryptedLine = "";
for (char position : chars){
cryptedLine = cryptedLine + position;
}
writer.write(cryptedLine);
if (reader.ready()) {
writer.newLine();
}
}
} catch (IOException e) {
e.printStackTrace();
}
break;
case "-d":
try (BufferedReader reader = new BufferedReader(new FileReader(args[1]));
BufferedWriter writer = new BufferedWriter(new FileWriter(args[2]))) {
while (reader.ready()){
String line = reader.readLine();
char[] chars = line.toCharArray();
for (int a = 0; a < chars.length; a++){
chars[a] = (char) (chars[a] - 5);
}
String cryptedLine = "";
for (char position : chars){
cryptedLine = cryptedLine + position;
}
writer.write(cryptedLine);
if (reader.ready()) {
writer.newLine();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}