Чтение двоичного файла в строку

Это должно быть очевидно, но я не могу понять. Я потратил на это почти целый день. Я с радостью куплю пива тому, кто может меня облегчить.

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-файл.

5
задан Sahil Muthoo 19 September 2011 в 19:35
поделиться