В моем хранилище данных jabrabbit хранятся большие двоичные файлы. Я могу просматривать файловую систему datastore и открывать эти файлы без каких-либо проблем.JCR избегает потоковой передачи файлов
Теперь, как я могу использовать эти файлы из своего приложения? Я, конечно, мог бы использовать метод get12 ( ) getStream() типа jcr.binary, но тогда я бы просто передал все содержимое уже существующего файла в новый временный файл? Поскольку мои двоичные файлы очень большие, я не хочу этого. Я ищу способ получить полный путь к файловой системе двоичного файла. Метод getpath() jcr.Property возвращает только путь в репозитории и только с именами сопоставленных узлов, а не именами узлов, которые действительно хранятся в моей файловой системе. В общем, мне приходится разбирать двоичный объект в объект Java.IO.File, и я хочу избежать потоковой передачи
Редактирование: через отражение я увидел, что класс моего двоичного кода класс org.apache.jackrabbit.core. value.BLOBInDataStore Я предполагаю, что мне нужно каким-то образом получить доступ к значению файла
Что заставляет вас думать, что 'getStream()' создает временные файлы? –
не getStream(), а использовать его. Я должен читать в каждом байте в памяти – nico1510
И что вы хотите делать с теми блобами, которые не связаны с их чтением в память? –