Читайте java.io.File из BLOB - PullRequest
0 голосов
/ 09 мая 2018

У меня есть следующий код, который хранит список в файл, а затем в столбце BLOB-объектов MySQL Можно ли восстановить этот список из базы данных?

ArrayList<String> myList = new ArrayList<String>();

File tempFile = File.createTempFile("myFile.temp");

tempFile.deleteOnExit();

FileOutputStream fileOutputStream = new FileOutputStream(tempFile);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeUnshared(myList);
objectOutputStream.close();

String trailQuery = "INSERT INTO table (tempFile) VALUES (?)";
PreparedStatement preparedStatement = connection.prepareStatement(trailQuery);
preparedStatement.setObject(1, tempFile);

Я пытался прочитать это, но я получил FileNotFoundException

if (resultSet.next()) {

    InputStream fileInputStream = resultSet.getBinaryStream("tempFile");
    ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
    File inner = (File) objectInputStream.readObject();
    FileInputStream fileInputStreamInner = new FileInputStream(inner);
    ObjectInputStream objectInputStreamInner = new ObjectInputStream(fileInputStreamInner);

    ArrayList<String> myList = (ArrayList<String>) objectInputStreamInner.readObject();
    System.out.println(myList.size());
}

Исключение

java.io.FileNotFoundException: \tmp\myFile.1708309680603860570.temp (The system cannot find the path specified)

1 Ответ

0 голосов
/ 09 мая 2018

Как упомянул @EJP, файл java.io.File - это не что иное, как держатель для имени файла ... неправильно понял - поэтому там нет содержимого файлов ....

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