powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / google storage, input stream и skip
6 сообщений из 6, страница 1 из 1
google storage, input stream и skip
    #39073113
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Есть гугл-сторадж. На нём есть (очень) большой файл.
Мне надо взять, к примеру, 126й гигабайт Только его (т.е. первые 125Гб пропустить).

Я сейчас использую библиотеку google-api-services-storage
После всех авторизаций-запросов оно отдаёт мне объект sun.net.www.protocol.http.HttpURLConnection.HttpInputStream
Когда я ему говорю skip(125*ONG_GB) он тупо вычитывает это гигабайт, сплёвывая в /dev/null. Но это плохое решение.

Как быть?
1. Как-то заставить HttpInputStream позиционироватся напрямую на нужный Гб?
2. Как-то объяснить com.google.api.services.storage.model.StorageObject что надо поток дать не с начала?
3. Использовать другую библиотеку?

Гугл :) находит только про resume upload...

--
Алексей.
...
Рейтинг: 0 / 0
google storage, input stream и skip
    #39073116
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обрати внимание на такую штуку как HTTP Range header. Не знаю есть ли она в API, но гугл по HTTP её полюбому должен поддерживать.
...
Рейтинг: 0 / 0
google storage, input stream и skip
    #39073125
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

В StorageRequest есть метод setRequestHeaders()
...
Рейтинг: 0 / 0
google storage, input stream и skip
    #39073183
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вроде есть всё .

Но вот пишу
Код: java
1.
2.
3.
4.
5.
        Storage.Objects.Get getObject = objects.get(bucket, fileName);
        StorageObject getObjectPropertiesMap = getObject.execute();
        BigInteger fileSize = (BigInteger) getObjectPropertiesMap.get("size");
        String range = "bytes " + position + "-" + (fileSize.subtract(BigInteger.ONE)) + "/" + fileSize;
        getObject.getRequestHeaders().setRange(range);



А мне едут байты с нулевого. Что-то чепуха какая-то...
...
Рейтинг: 0 / 0
google storage, input stream и skip
    #39073197
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, вот что значит "после 6 вечера"- туплю уже :)
Код: java
1.
2.
3.
4.
5.
        Storage.Objects.Get getObject = objects.get(bucket, fileName);
        StorageObject getObjectPropertiesMap = getObject.execute();
        BigInteger fileSize = (BigInteger) getObjectPropertiesMap.get("size");
        String range = "bytes=" + position + "-";
        getObject.getRequestHeaders().setRange(range);



И всё...
...
Рейтинг: 0 / 0
google storage, input stream и skip
    #39073199
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. проблема ренеша.

Спасибо за подсказку!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / google storage, input stream и skip
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]