System.out.println отображает пустую строку - PullRequest
0 голосов
/ 16 октября 2018

Почему приведенный ниже 'System.out.println' (fileEncodedString) отображает пустую строку, когда значение присутствует во время отладки, и я получаю вывод при декодировании значения и печати. ​​

byte[] fileContent = readFileToByteArray(filePath);
String fileEncodedString = Base64.getEncoder().encodeToString(fileContent);
byte[] fileDecodedString = Base64.getDecoder().decode(fileEncodedString);
System.out.println("Base64 Decoded File (Basic): " + new String(fileDecodedString, "utf-8"));

private static byte[] readFileToByteArray(String filePath) {
    FileInputStream fileInputStream = null;
    byte[] bytesArray = null;
    try {
        File file = new File(filePath);
        bytesArray = new byte[(int) file.length()];
        // read file into bytes[]
        fileInputStream = new FileInputStream(file);
        fileInputStream.read(bytesArray);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (fileInputStream != null) {
            try {
                fileInputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
    return bytesArray;
}

1 Ответ

0 голосов
/ 16 октября 2018

Попробуйте использовать метод ниже для readFileToByteArray и передайте правильный путь к файлу:

static byte[] readFileToByteArray(String filePath) throws IOException {
        File file = new File(filePath);
        return Files.readAllBytes(file.toPath());

}

все работает нормально.

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