2012-02-03 1 views
1

Je suis à la recherche d'un projet pour la classe et en tant que partie de celui-ci, je vais devoir créer un "disque" pour permettre aux utilisateurs d'écrire certains fichiers (par exemple un disque RAM). J'ai utilisé plusieurs langues, mais je connais très bien Java (je pourrais peut-être utiliser C# et le faire à temps). Je me demande ce qui est là-bas qui peut le faire. J'ai regardé Commons VFS, JLAN et Alfresco et je pourrais être en mesure d'utiliser les deux derniers, mais je me demande s'il existe d'autres options. En ce moment je regarde Java 7 que j'ai lu a de nouveaux trucs E/S qui pourraient aider ... Vraiment la chose principale que je dois comprendre à ce stade est un moyen de cartographier un lecteur. Par exemple, AFAICT, Commons VFS me permettrait d'accéder à des fichiers quelque part (comme FTP), mais comment puis-je présenter cet accès comme une lettre de lecteur ou de partager cela peut être mappé?Comment créer un disque virtuel (lettre, partage, etc.) sur Windows en utilisant Java?

Merci

Mise à jour: Pour être plus clair, ce que je suis en train de faire (en général) est de créer quelque chose comme Dropbox. Je veux avoir une lettre de lecteur/partage dans Windows mais le back-end sera autre chose qu'un disque local (comme une autre machine sur le LAN qui exécute un composant serveur). Je dois au moins coder la logique principale pour transférer des données, mais je ne sais pas comment "coller" dans Windows de telle sorte qu'il semble être un partage de disque ou réseau ... Il semble que l'utilisation d'un service CIFS et exposer cela à l'OS pourrait faire le plus de sens.

Répondre

1

En langage Java pur, vous ne pourrez pas créer une application côté client mais devrez créer une application serveur qui parle quelque chose que Windows sait déjà monter (CIFS ou Web DAV par exemple). WebDAV serait probablement le plus simple à utiliser.

Maintenant, vous mentionnez Dropbox dans votre message. Dropbox Je ne crois pas réellement crée un lecteur ou un dossier virtuel, mais réplique plutôt le contenu dans un dossier local et surveille le dossier pour les changements. Si vous sélectionnez cette route, Java a un WatchService pour le gérer (complet avec tutorial). Vous devrez écrire à la fois le composant côté client et côté serveur, mais vos fichiers seront disponibles lorsque vous êtes hors ligne.

0

Vous pouvez essayer propre pilote de disque RAM de Microsoft, si elle fonctionne toujours sur les versions actuelles de Windows: http://support.microsoft.com/kb/257405

Ou si vous avez juste besoin d'une lettre de lecteur, essayez la commande subst. Si vous avez réellement besoin de programmer une solution, la façon la plus simple de penser à vous est de créer un fichier dans lequel vous émulez votre propre système de fichiers (magasin de disques) et fournissez une interface permettant à l'utilisateur de gérer les fichiers. C'est à dire. un système de fichiers virtuel. Je ne sais pas si les versions actuelles de Windows ont un équivalent des images disque d'OS X, ce qui simplifierait les choses pour vous.

On ne sait pas vraiment ce que vous devez faire.

2

Vous pouvez utiliser notre produit Callback File System pour créer un système de fichiers virtuel et l'exposer via une lettre de lecteur ou un dossier sur un disque NTFS. Les opérations du système de fichiers seront traitées par votre code et vous pourrez transférer les données vers le cloud. C'est le scénario utilisé par des dizaines de nos clients.

Questions connexes