Не используйте FileInputStream для этой цели. Создайте URL, затем получите входной поток и прочитайте с него данные.
URL url = new URL (fileUrl);
InputStream inputStream = url.openStream ();
readData (inputStream);
Для чтения данных я рекомендую вам использовать библиотеку Commons IO (особенно если есть 2 или более мест, где вы работаете с потоками, это сэкономит ваше время и сделает ваш код более выразительным):
private byte[] readData (InputStream in) {
try {
return IOUtils.toByteArray (in);
} finally {
IOUtils.closeQuietly(in);
}
}
Вы также работаете в своем коде с Потоками объектов (например, ObjectInputStream). Но этот поток должен использоваться только для чтения сериализованного объекта Java, и это не так, как я понимаю из описания (если это будет сериализованный объект, то ваш браузер не открыл этот файл).