Можно ли создать Java RAM-диск для использования с java.io. * API?

Я использую стороннюю библиотеку, которая в основном создает выходной каталог с различными типами файлов и подкаталогов внутри. Я хотел бы иметь возможность писать модульные тесты, чтобы подтвердить правильность вывода.

Я хотел бы иметь возможность использовать библиотеку с RAM-диском, чтобы ничто из того, что делает библиотека, не касалось реальных дисковых пластин. Идея состоит в том, чтобы сделать тесты очень быстрыми для запуска и очистки (сбросить RAM-диск?).

Мне доступны два наиболее важных варианта: Commons VFS и JSR 203 . Первое для меня бесполезно, потому что я хочу, чтобы все работало прозрачно, используя java.io. * API, а не классы Commons VFS. Последнее не сокращает его, потому что мне нужно обойтись JDK 6 (он должен быть частью JDK 7), и я не знаю, будет ли он работать без проблем с java.io. * в любом случае (я бы не стал ставка на это).

Есть и другие решения, но я не могу их использовать по той же причине, что не могу использовать Commons VFS. Моки исключены из-за сложности рассматриваемой библиотеки.

На моей Linux-машине я могу легко создать RAM-диск и использовать java.io. * API так же, как и с файлами на диске. Дело в том, что я хочу, чтобы он был кроссплатформенным, а точнее, чтобы установка диска была частью процедуры тестирования, а не чем-то внешним.

Итак, есть ли способ зарегистрировать RAM-диск в Java, который бы можно использовать со стандартным API java.io. *?

10
задан Tomislav Nakic-Alfirevic 28 August 2014 в 13:05
поделиться