Я пытаюсь передать объект Java в процесс, который принимает файл в качестве аргумента. ОС - это Linux. А именно, есть антивирус с открытым исходным кодом под названием ClamAV. Он предоставляет инструмент командной строки, называемый "clamscan". Мы можем сказать clamscan для сканирования файла следующим образом:
clamscan -d [RuleFilePath] [FileToScanPath]
Я вызову этот процесс через ProcessBuilder. Дело в том, что я не хочу создавать реальные файлы и сохранять их на диск, чтобы вызвать этот процесс. Есть ли способ запустить его с объектами Java в памяти? спасибо
То, что вы пытаетесь сделать, возможно с именованными каналами, но довольно сложно получить право.
Вместо этого я бы предложил использовать tmpfs в качестве файловой системы RAM.
Вы можете создать временную файловую форму java перед процессом и после завершения файла удаления процесса.