Как я могу создать виртуальный диск (письмо, общий доступ и т. Д.) В Windows, используя Java? - PullRequest
1 голос
/ 03 февраля 2012

Я смотрю на пробный проект для класса, и как часть этого мне нужно будет создать «диск», чтобы позволить пользователям записывать некоторые файлы (например, RAM-диск).Я использовал разные языки, но я больше всего знаком с Java (возможно, я мог бы использовать C # и сделать это вовремя).Мне интересно, что там может сделать это.

Я смотрел на Commons VFS, JLAN и Alfresco, и я мог бы использовать последние два, но мне интересно, есть ли другие варианты,Прямо сейчас я смотрю на Java 7, который я прочитал, имеет новые вещи ввода / вывода, которые могут помочь ... Действительно, главное, что мне нужно выяснить на данный момент, - это способ сопоставления диска.Например, AFAICT, Commons VFS позволил бы мне получить доступ к файлам где-нибудь (например, FTP), но как я могу представить этот доступ в виде буквы диска или поделиться этим можно сопоставить?

Спасибо

Обновление: Чтобы быть более понятным, я пытаюсь (как правило) создать нечто вроде Dropbox.Я хочу иметь букву диска / общий ресурс в Windows, но серверная часть будет отличаться от локального диска (например, другой компьютер в локальной сети, на котором работает компонент сервера).Мне нужно, по крайней мере, кодировать внутреннюю логику для передачи данных, но я не уверен, как «приклеить» ее в Windows, чтобы она представляла собой общий диск или сетевой ресурс ... Кажется, что используется какой-то сервис CIFSразоблачение этой ОС может иметь больше смысла.

Ответы [ 3 ]

2 голосов
/ 21 января 2014

Вы можете использовать наш Callback File System продукт для создания виртуальной файловой системы и предоставления ее через букву диска или папку на диске NTFS. Операции файловой системы будут обрабатываться вашим кодом, и вы сможете передавать данные в облако. Этот сценарий используют десятки наших клиентов.

1 голос
/ 21 января 2014

В чистой Java вы не сможете создать клиентское приложение, но вам придется создать серверное приложение, которое говорит на чем-то, что Windows уже умеет монтировать ( CIFS или Web DAV например). WebDAV, вероятно, будет самым простым для работы.

Теперь вы упоминаете Dropbox в своем посте. Dropbox Я не верю, что на самом деле создает виртуальный диск или папку, а скорее реплицирует содержимое в локальную папку и отслеживает изменения в указанной папке. Если вы выберете этот маршрут, то у Java будет WatchService для его обработки (вместе с tutorial ). Вам придется написать как клиентский, так и серверный компонент, но ваши файлы будут доступны, пока вы не в сети.

0 голосов
/ 03 февраля 2012

Вы можете попробовать собственный драйвер RAM от Microsoft, если он все еще работает в текущих версиях Windows: http://support.microsoft.com/kb/257405

Или, если вам просто нужна буква диска, попробуйте команду subst.

Если вам действительно нужно запрограммировать решение, самый простой способ, о котором я могу подумать, - это создать файл, в котором вы эмулируете свою собственную простую файловую систему (хранилище записей) и предоставляете некоторый интерфейс, посредством которого пользователь может управлять файлами. То есть виртуальная файловая система.

Я не знаю, имеют ли текущие версии Windows эквивалент образов дисков OS X, что упростит вам задачу.

Немного неясно, что вы на самом деле должны делать.

...