Где-то тут вычитывал, что можно просто Цезарем зашифровать. Так и сделал. Шифрует и дешифрует. Но валик говорит, что не шифрует и не дешифрует. Не понимаю тогда суть условия...
package com.javarush.task.task18.task1826;
/*
Шифровка
Придумать механизм шифровки/дешифровки.
Программа запускается с одним из следующих наборов параметров:
-e fileName fileOutputName
-d fileName fileOutputName
где:
fileName - имя файла, который необходимо зашифровать/расшифровать.
fileOutputName - имя файла, куда необходимо записать результат шифрования/дешифрования.
-e - ключ указывает, что необходимо зашифровать данные.
-d - ключ указывает, что необходимо расшифровать данные.
Требования:
1. Считывать с консоли ничего не нужно.
2. Создай поток для чтения из файла, который приходит вторым параметром ([fileName]).
3. Создай поток для записи в файл, который приходит третьим параметром ([fileOutputName]).
4. В режиме "-e" программа должна зашифровать [fileName] и записать в [fileOutputName].
5. В режиме "-d" программа должна расшифровать [fileName] и записать в [fileOutputName].
6. Созданные для файлов потоки должны быть закрыты.
*/
import java.io.*;
//-e C:\JVR\in.txt C:\JVR\out.txt
//-d C:\JVR\out.txt C:\JVR\res.txt
public class Solution {
public static void main(String[] args) {
if (args[0].equals("-e")){
try {
BufferedReader reader = new BufferedReader(new FileReader(new File(args[1])));
BufferedWriter writer = new BufferedWriter(new FileWriter(new File(args[2])));
for (char symbol : reader.readLine().toCharArray()) {
if (symbol != ' ') writer.write(symbol-3);
else writer.write(symbol);
}
reader.close();
writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
if (args[0].equals("-d")){
try {
BufferedReader reader = new BufferedReader(new FileReader(new File(args[1])));
BufferedWriter writer = new BufferedWriter(new FileWriter(new File(args[2])));
for (char symbol : reader.readLine().toCharArray()) {
if (symbol != ' ') writer.write(symbol+3);
else writer.write(symbol);
}
reader.close();
writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}