Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
//initialize StreamResult with File object to save to file
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = result.getWriter().toString();
System.out.println(xmlString);
Примечание: Результаты могут варьироваться в зависимости от версии Java. Поиск обходных решений, характерных для Вашей платформы.
Как я вижу, есть несколько вариантов для реализации этого.
«Нативный» - это создание специального драйвера (файл .sys), который перехватывает операции ввода-вывода. Microsoft называет это MiniFilter. Это самый сложный вариант, но он дает вам полный контроль.
Вариант труса;) - использовать для этого существующую библиотеку, примерами этого являются Dokan, GPL ( dokan-dev.net/en ]), Pismo, free ( www.pismotechnic.com ) или Callback File System ( www.eldos.com ).
Однако, если у вас нет Windows в качестве основной target, вы можете использовать FUSE - неплохой вариант.
ПРИВОД КАРТЫ: http://compnetworking.about.com/od/windowsxpnetworking/ht/mapnetworkdrive.htm
Виртуальный привод CD / DVD http://www.associatedcontent.com/article/420958/how_to_create_a_virtual_drive_in_windows.html
Виртуальный жесткий диск использует Virtual PC 2007
Вы можете написать расширение Shell NameSpace, позволяющее представлять что угодно как диск (с подпапками, файлами, настраиваемыми меню и т. Д.), Но вам придется построить весь функционал с нуля. Положительным моментом является то, что в сети есть много образцов, например этот .
для использования команды SUBST в сценарии, запущенном вашим приложением, может быть вариантом.
Наша Callback File System, как упоминалось выше, является поддерживаемым продуктом с полным набором функций, примерами и поддержкой. Мы также предлагаем бесплатные некоммерческие лицензии.