Это должно быть очевидно, но я не могу понять. Я потратил на это почти целый день. Я с радостью куплю пива тому, кто может меня облегчить.
File file = new File(filePath);
byte[] bytes = new byte[(int)file.length()];
DataInputStream dataInputStream = new DataInputStream(new BufferedInputStream(new FileInputStream(filePath)));
dataInputStream.readFully(bytes);
dataInputStream.close();
return new String(bytes);
Это мой код. Я вижу, что размер массива байтов неправильный, но я не могу определить правильный размер. Кроме того, содержимое также не является неправильным. { {1}} Похоже, подходят только текстовые символы.
Кажется, получить данные из двоичного файла - настоящая боль, я действительно в депрессии.
И еще одно: содержимое файла не является текстом, это может быть что угодно, например изображение, видео или PDF-файл.