Короче: Я хочу бросить байтовый массив или строку в объект File, так что я могу использовать этот объект File в качестве параметра для метод, подпись которого я не могу изменить. Я хочу достичь этого в памяти, не касаясь диска.Java - Литая байтовый массив или строку в (виртуальный) Файл
Я читал много similar questions здесь, включая предложения об использовании File.createTempFile, но у меня создается впечатление, что мы по-прежнему создаем физические файлы, даже если это временно?
В полном объеме: Я помогаю в очень сложном проекте восстановления данных. Теперь у нас есть, скажем, образ диска объемом более 400 ГБ, который представляет собой сборник из 2 Мбайт-секций. Некоторые из файлов, которые я хочу восстановить, начинаются в одном и заканчиваются в другом разделе размером 2 МБ. У нас есть инвентарь того, где мы видели начало и конец, поэтому теперь я хочу сшить начала и окончания вместе, а затем проверить, является ли результат допустимым файлом, в каком-то проректорном формате. (это все справочная информация, давайте не будем в этом разбираться!)
У меня есть класс java (который я не могу изменить), который может читать и, следовательно, проверять эти файлы. Поэтому я хочу просто передать мой файл-пул в этот метод. Если это будет успешным, я перейду к следующей «начальной части», иначе я попытаюсь сопоставить начальную часть с другой конечной частью.
Я хочу сохранить «сшитые файлы» в памяти (не записывать его во временные файлы), потому что, вероятно, ясно, что мне нужна высокая эффективность. Это последнее средство; действительно, нам нужно соответствовать многим тысячам начинаний со многими тысячами окончаний. Но опять же, давайте просто держать на вопрос :)
Символ 'java.io.File' представляет только путь и имя файла, а не фактическое содержание самого файла. – Jesper
Если ваш API использует 'java.io.File', единственный простой способ, которым я могу думать, - использовать RAM-привод ... –
Хм, я полагаю, мне действительно понадобится RAM-накопитель ... звучит так, как будто быть другим способом, если File может только указывать на «фактический файл». Благодаря! – Sygmoral