· 9 years ago · Sep 25, 2016, 07:42 PM
1package com.javarush.test.level18.lesson10.bonus01;
2
3/* Шифровка
4Придумать механизм шифровки/дешифровки
5
6Программа запуÑкаетÑÑ Ñ Ð¾Ð´Ð½Ð¸Ð¼ из Ñледующих наборов параметров:
7-e fileName fileOutputName
8-d fileName fileOutputName
9где
10fileName - Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, который необходимо зашифровать/раÑшифровать
11fileOutputName - Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, куда необходимо запиÑать результат шифрованиÑ/дешифрованиÑ
12-e - ключ указывает, что необходимо зашифровать данные
13-d - ключ указывает, что необходимо раÑшифровать данные
14*/
15
16import java.io.FileInputStream;
17import java.io.FileOutputStream;
18import java.io.IOException;
19import java.util.ArrayList;
20import java.util.List;
21
22public class Solution {
23 private static byte secretKey = 50;
24 private static String filename;
25 private static String fileOutputName;
26
27 public static void main(String[] args) throws IOException {
28 filename=args[1];
29 fileOutputName=args[2];
30 //List for input data
31 List<Integer> myList = new ArrayList<>();
32 //read file
33 FileInputStream fileInputStream = new FileInputStream(filename);
34 FileOutputStream fileOutputStream = new FileOutputStream(fileOutputName);
35 while (fileInputStream.available()>0){
36 myList.add(fileInputStream.read());
37
38 }
39 if ("-e".equals(args[0])){
40 for (int i = 0; i < myList.size(); i++) {
41 fileOutputStream.write((myList.get(i))+secretKey);
42 }
43 }
44 else if ("-d".equals(args[0])){
45 for (int i = 0; i < myList.size(); i++) {
46 fileOutputStream.write((myList.get(i))-secretKey);
47 }
48 }
49 fileInputStream.close();
50 fileOutputStream.close();
51
52 }
53
54}