В общем, задачу я решил. Как? Просто по советам в "обсуждении", но механизм шифровки/дешифровки мне не понятен. Объясните пожалуйста. Вот код решенной задачи:
public class Solution {
    public static void main(String[] args) throws IOException,FileNotFoundException {
        FileInputStream fis = new FileInputStream(args[1]);
        FileOutputStream fos = new FileOutputStream(args[2]);
        if (args.length!=0&&args[0].equals("-e")){
            while (fis.available()>0){
                fos.write(fis.read()-1);
            }
        }
        if (args.length!=0&&args[0].equals("-d")){
            while (fis.available()>0){
                fos.write(fis.read()+1);
            }
        }
fis.close();
        fos.close();

    }
}
Так же, как я понял args[0] - ключ, args[1] - имя файла для чтения, args[2] - имя файла для записи. И вводить эти параметры нужно с помощью Solution>>Edit Configuration>>Programm arguments Но как правильно это сделать?