Перед загрузкой прочитайте и добавьте данные в файл из URL-адреса BLOB-объекта - PullRequest
0 голосов
/ 21 февраля 2019

Это мои первые руки по использованию загрузки Java Spring в проекте, так как я в основном использовал C #, и у меня есть требование прочитать файл из пути URL-адреса большого двоичного объекта и добавить некоторые строковые данные (например, ключ) к тому жефайл в потоке, прежде чем мой API загрузит файл.

Вот способы, которые я пытался сделать:путь.

URLConnection : Это меня где-то привело, и я смог успешно загрузить файл, но когда я попытался записать / добавить некоторое значение в файл перед загрузкой, яне удалось.

код, который я делал.

    //EXTERNAL_FILE_PATH is the azure storage path ending with for e.g. *.txt
    URL urlPath = new URL(EXTERNAL_FILE_PATH);
    URLConnection connection = urlPath.openConnection();
    connection.setDoOutput(true); //I am doing this as I need to append some data and the docs mention to set this flag to true. 
    OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
    out.write("I have added this");
    out.close();


    //this is where the issues exists as the error throws saying it cannot read data as the output is set to true and it can only write and no read operation is allowed. So, I get a 405, Method not allowed...
    inputStream = connection.getInputStream(); 

Я не уверен, что инфраструктура позволяет мне изменять какой-либо файл в пути URL и читать его одновременно искачайте то же самое.

Пожалуйста, помогите мне понять, если они являются лучшим способом здесь возможно.

1 Ответ

0 голосов
/ 22 февраля 2019

С логической точки зрения вы не добавляете данные в файл из URL.Вам нужно создать новый файл, записать некоторые данные и после этого добавить содержимое из файла из URL.Алгоритм может выглядеть следующим образом:

  1. Создать новый File на диске, возможно, в папке TMP.
  2. Записать некоторые данные в файл.
  3. Загрузите файл с URL и добавьте его в файл на диске.

Некоторые хорошие статьи, с которых вы можете начать:

  1. Скачать файл сURL в Java
  2. Как загрузить и сохранить файл из Интернета с помощью Java?
  3. Как добавить текст в существующий файл в Java
  4. Как записать данные с FileOutputStream без потери старых данных?
...