package com.javarush.task.task18.task1826;

/*
Шифровка
*/

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.regex.Pattern;

public class Solution {
    public static void main(String[] args) throws IOException {
        FileInputStream inputStream = new FileInputStream(args[1]);
        FileOutputStream outputStream = new FileOutputStream(args[2]);
        int c;
        switch (args[0]) {
            case "-e" :
                while (inputStream.available() > 0) {
                    if (Pattern.matches("[a-z]", String.valueOf((char) (c = inputStream.read())))) {
                        c += 3;
                        if (c > 122)
                            c = 96 + (122 - c);
                    } else if (Pattern.matches("[A-Z]", String.valueOf((char)(c)))) {
                        c += 3;
                        if (c > 90)
                            c = 64 + (90 - c);
                    }
                    outputStream.write(c);
                }
                break;
            case "-d" :
                while (inputStream.available() > 0) {
                    if (Pattern.matches("[a-z]", String.valueOf((char) (c = inputStream.read())))) {
                        c -= 3;
                        if (c < 97)
                            c = 123 - (97 - c);
                    } else if (Pattern.matches("[A-Z]", String.valueOf((char)(c)))) {
                        c -= 3;
                        if (c < 65)
                            c = 91 - (65 - c);
                    }
                    outputStream.write(c);
                }
                break;
        }
        inputStream.close();
        outputStream.close();
    }

}
Может кто подскажет в чем ошибка. Тестовые файлы шифруются/дешифруются без проблем.