Использование FileWriter и сохранение LineBreaks / WhiteSpace - PullRequest
0 голосов
/ 07 ноября 2018

Здравствуйте. В настоящее время я использую систему Java FileWriter с HashTable для воссоздания декодированного сообщения. Я пытаюсь воссоздать декодированное сообщение, просматривая файл, содержащий все пары кодированных значений ключа (10111 = C), и записывая в текстовый файл

Мои кодированные пары KV https://github.com/DijonLee/Project2/blob/master/freq.txt

prop.load(new FileReader(freqFile));
for (Map.Entry entry : prop.entrySet()) {
    // map.put((String) entry.getKey(), (String) entry.getValue());
}
BufferedReader in = new BufferedReader(new FileReader(freqFile));

String line;
while ((line = in.readLine()) != null) {
    // System.out.println(line); // ensure my line breaks are okay

    if (line.contains("=")) {
        String[] strings = line.split("=");
        map.put(strings[0], (strings[1]));
    }
}

Здесь я пытаюсь «расшифровать» мой текст на основе пар KV

FileReader inputStream = null;
inputStream = new FileReader("encoded.txt");

FileWriter outputStream = null;
outputStream = new FileWriter("ur_dec.txt");

int c;
String decoder = "";
String key = "";

while ((c = inputStream.read()) != -1) {  // loop through file
    char cToChar = (char) c;              // get char
    decoder += cToChar;                  // build string
    if (map.containsValue(decoder)) {
        for (Map.Entry entry : map.entrySet()) {
            if (decoder.equals(entry.getValue())) {
                key = (String) entry.getKey();
                decoder = "";
                outputStream.write(key); // 
            }
            break; // breaking because its one to one map 
        }
    }
}

Хотя моя программа работает, она, кажется, удаляет табуляции и другие пробелы, которые я хотел бы сохранить, пока я кодирую и декодирую их, и я не слишком уверен, почему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...