Текст для шифрования test.txt
Bull,
Tank,
Rob,
Elot,
FingerPring,
Hero,
Inb
Результат шифрования encrypted.txt
Atkk+ S`mj+ Qna+ Dkns+ EhmfdqOqhmf+ Gdqn+ Hma
Результат расшифровка предыдущего файла в: decrypted.txt
Bull,
Tank,
Rob,
Elot,
FingerPring,
Hero,
Inb
В чем именно может быть допущена ошибка? Заранее спасибо. package com.javarush.task.task18.task1826;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.Arrays;
/*
Шифровка
*/
public class Solution {
public static void main(String[] args) throws IOException {
String fileName = args[1];
String fileOutPutName = args[2];
byte change = (byte)1;
switch (args[0]) {
case "-e":
encryptFile(fileName, fileOutPutName, change);
break;
case "-d":
decryptFile(fileName, fileOutPutName, change);
break;
}
}
public static void encryptFile (String fileName, String fileOutputName, byte change) throws IOException {
FileInputStream fis = new FileInputStream(fileName);
byte[] buff = new byte[1000];
int count = 0;
if(fis.available()>0) {
count = fis.read(buff);
}
fis.close();
byte[] result = Arrays.copyOfRange(buff, 0, count);
buff = null;
for (int i = 0; i<result.length; i++) {
result[i] = (byte) (result[i]- change);
}
FileOutputStream fos = new FileOutputStream(fileOutputName);
fos.write(result, 0, count);
fos.close();
}
public static void decryptFile(String fileName, String fileOutputName, byte change) throws IOException {
FileInputStream fis = new FileInputStream(fileName);
byte[] buff = new byte[1000];
int count = 0;
if(fis.available()>0) {
count = fis.read(buff);
}
fis.close();
byte[] result = Arrays.copyOfRange(buff, 0, count);
buff = null;
for (int i = 0; i<result.length; i++) {
result[i] = (byte) (result[i]+ change);
}
FileOutputStream fos = new FileOutputStream(fileOutputName);
fos.write(result, 0, count);
fos.close();
}
}