Файл приведения (PDF-файл) по байтовому массиву

Они помогли бы мне, как преобразовать PDF-файл в байты, у меня есть файл, сохраненный в папке ресурсов, у меня есть следующее, но я не могу найти хороший способ выполнить приведение.

@Override
public byte[] convertir() throws Exception {
    byte[] data = null;
    File file = new ClassPathResource("/archivos/tarea.pdf").getFile();
    data = ?????;
    return data;
}
0
задан 29.11.2019, 01:00
1 ответ

Вместо того, чтобы использовать mГ©todo getFile() используй того, кто возвращает тебе уже один InputStream, о котором ты можешь читать данные.

, Если ты используешь Java 9, или начальник:

// Omito todo el manejo de excepciones por simplicidad
byte[] data = new ClassPathResource("/archivos/tarea.pdf").getInputStream().readAllBytes();

, Если ты используешь Java 8, или ниже, ты будешь должен читать контент, как он был сделан традиционно:

// Omito todo el manejo de excepciones por simplicidad
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayOutputStream baos = new ByteArrayOutputStream();

byte[] buffer = new byte[1000];
int readed;
while ((readed = bis.read(buffer)) != -1) {
    baos.write(buffer, 0, readed);
}

// No olvides liberar los recursos
0
ответ дан 01.12.2019, 10:39

Теги

Похожие вопросы