Невозможно распечатать строку в кодировке Base64 - PullRequest
0 голосов
/ 15 января 2019

Может кто-нибудь объяснить мне, почему 2-е утверждение println ниже ничего не печатает? Даже если я использую метод encodeToString () вместо метода encode (), я все равно не могу напечатать закодированную строку Base64. Закодированная строка не пуста, как я могу проверить, используя метод length (). Я попробовал другой файл, бинарный, и проблема все еще там.

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Base64;

public class Test {

    public static void main(String... args) {
        try {
            byte[] content = Files.readAllBytes(Paths.get("D:\\config.properties"));
            System.out.println(content.length); // correctly prints the length
            byte[] encoded = Base64.getEncoder().encode(content);
            System.out.println(new String(encoded)); // prints nothing
            content = Base64.getDecoder().decode(encoded);
            System.out.println(new String(content)); // prints original content
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

}

EDIT

Эта проблема существует, только когда я запускаю программу в Eclipse. Когда я запускаю его из командной строки, можно распечатать строку в кодировке Base64.

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