Как создать новый File (из java.io) в памяти - не на жестком диске?
Я использую язык Java. Я не хочу сохранять файл на жестком диске.
Ответ 1
Для записи в поток в памяти используйте:
new ByteArrayOutputStream();
Ответ 2
Как создать новый файл (из java.io) в памяти, а не на жестком диске?
Возможно, вы путаете File и Stream:
A File - абстрактное представление файла и каталога пути. Используя объект File, вы можете получить доступ к метаданным файлов в файловой системе и выполнить некоторые операции над файлами в этой файловой системе, например удалить или создать файл. Но класс File не предоставляет методы для чтения и записи содержимого файла.
Для чтения и записи из файла вы используете объект Stream, например FileInputStream или FileOutputStream. Эти потоки могут быть созданы из объекта File, а затем использоваться для чтения и записи в файл.
Вы можете создать поток на основе байтового буфера, который находится в памяти, используя ByteArrayInputStream и ByteArrayOutputStream для чтения и записи в буфере байта аналогичным образом, который вы читаете и записываете из файла. Массив byte содержит содержимое "Файл". Тогда вам не нужен объект File.
Оба потока File... и ByteArray... наследуют от java.io.OutputStream и java.io.InputStream соответственно, так что вы можете использовать общий суперкласс, чтобы скрыть, читаете ли вы из файла или из массива байтов.