J'ai en fait une question Windows / Java. J'ai un périphérique branchué que je veux accéder via Java. Normalement, vous pouvez accéder à un par exemple. USB-Stick via la lettre de lecteur ... mais cette tablette est affichée par Windows comme "périphérique portable" ... ce qui signifie que le chemin est quelque chose comme "ordinateur \ archos 5s" et il n'y a pas de lettre de lecteur. p>
Je veux accéder à un fichier sur cet appareil via Java, mais je ne suis pas capable de comprendre le chemin correct. Il y a une question similaire là-bas, mais sans réponse productive. Ou existe-t-il une autre façon d'accéder à cet appareil via Java? P>
En fait, je n'ai pas résolu ce problème ... Je ne suis toujours pas capable d'accéder à un tel appareil via Java. P>
Pour le moment, j'essaie d'accéder à un shellfolder Windows en Java. Un tireur de tireur de tirage comme: "Shell :::: {35786D3C-B075-49B9-88DD-029876E11C01}" P>
est-ce possible avec Java? Récemment, j'ai découvert la classe Sun.awt "Shoppolder" ... Est-ce la fonctionnalité recherchée? P>
merci pour votre aide Ripei p>
3 Réponses :
Comme * Nix Systems, tous les périphériques (y compris les entraînements) ont des chemins qui font partie d'une racine commune, ceci est normalement masqué à partir des utilisateurs, car ils utilisent les lettres de lecteur qui sont des alias de ces chemins fondamentaux, mais vous pouvez également utiliser pleinement Chemins de périphérique en préfixant le chemin avec Par exemple, sur ma machine D: traduit comme Le chemin de votre appareil est donc probablement "\\. \" code> p>
"\ périphérique \ harddiskvolume1" code> et est accessible en passant
"\\. \ harddiskvolume1" code> à Createefile. < / p>
"\\. \ archos 5s" code>. p>
Merci ... Cela semble être la bonne façon bien que mon problème ne soit pas résolu jusqu'à présent. Je ne suis pas capable d'accéder à un lecteur ni à "Archos 5s" via "\\\. \ - paramter. Mais j'ai trouvé ce lien: docs.plt-scheme.org/reference/windowspaths.html puis j'ai essayé d'accéder à un lecteur via" \\? \ c: "Et cela fonctionne ... mais ça ne marche pas pour "\\? \ archos 5s". Avez-vous une idée pourquoi? Merci d'avance Ripei
Essayez d'utiliser getLogicalDrivesterings code> et
QueryDosDevice code> Peut-être que votre appareil a déjà un alias même s'il n'est pas une lettre de lecteur.
Voir ce programme C simple pour un exemple d'énumérant tous les appareils. Pastebin.com/y3PGU5HS
Merci beaucoup. En fait, je ne suis pas capable de trouver un équivalent Java-Methode ... Parce que je dois utiliser Java. Il n'y a que "File.Listroots ()" qui retourne toutes les lettres de lecteur disponibles.
Vous pouvez toujours télécharger et installer le développeur Windows Mobile Powertoys (http://www.microsoft.com/download/fr/details.aspx?id=10601) et copier de et vers l'appareil à l'aide de l'utilitaire de ligne de commande Cecopy , que vous pouvez courir de n'importe quel langage de programmation. Il y a d'autres options là aussi, mais c'est le plus ciblé à .NET P>
La solution au problème ci-dessus à l'aide de la bibliothèque JMTP sur https://code.google.com/p/ JMTP /
Voici mon code P>
package jmtp; import be.derycke.pieter.com.COMException; import be.derycke.pieter.com.Guid; import java.io.*; import java.math.BigInteger; import jmtp.PortableDevice; import jmtp.*; public class Jmtp { public static void main(String[] args) { PortableDeviceManager manager = new PortableDeviceManager(); PortableDevice device = manager.getDevices()[0]; // Connect to my mp3-player device.open(); System.out.println(device.getModel()); System.out.println("---------------"); // Iterate over deviceObjects for (PortableDeviceObject object : device.getRootObjects()) { // If the object is a storage object if (object instanceof PortableDeviceStorageObject) { PortableDeviceStorageObject storage = (PortableDeviceStorageObject) object; for (PortableDeviceObject o2 : storage.getChildObjects()) { // // BigInteger bigInteger1 = new BigInteger("123456789"); // File file = new File("c:/JavaAppletSigningGuide.pdf"); // try { // storage.addAudioObject(file, "jj", "jj", bigInteger1); // } catch (Exception e) { // //System.out.println("Exception e = " + e); // } // System.out.println(o2.getOriginalFileName()); } } } manager.getDevices()[0].close(); } }
J'ai connecté mon unité à mon ordinateur dans le mode "MSC", mais je ne peux pas le voir sur mon ordinateur: i> Ce mode - MSC (classe de stockage de masse) - est uniquement pour les ordinateurs Linux qui reconnaîtront un Tablette Internet Branchée d'Archos en tant que disque dur externe. Pour les utilisateurs avancés Windows, il est possible d'obtenir des pilotes (utilisation à vos risques pour votre propre risque - non pris en charge par l'équipe de support Archos Tech) à partir d'Internet qui vous permettra de monter des partitions de type ext3 en tant que disque dur externe sur votre ordinateur Windows. wiki.archosfans.com/index.php?title=archos_faq
Plus ... Qu'est-ce que les options MSC et MTP dans le mode de connexion USB font pour moi? I> Ce sont les protocoles de la manière dont il se connecte à un ordinateur. MSC (classe de stockage de masse) est la méthode de connexion USB la plus courante. MTP (protocole de transport multimédia) est un système de transport intelligent pour les fichiers réguliers et les fichiers Windows Media Player. Si vous utilisez Windows, vous devez vous connecter en mode MTP. Si vous utilisez Linux, vous devez vous connecter en mode MSC.