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();
}
}
Может кто подскажет в чем ошибка. Тестовые файлы шифруются/дешифруются без проблем.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();
}
}