Obtenir des appareils portables à l'aide de java


J'essaie d'accéder à certains fichiers dans un périphérique (ayant une application "windows CE") qui apparaît comme portable device dans Windows 7 à l'aide d'une applet java....

Mon chemin de périphérique est comme

 "Computer\Attari's Device\myfile.txt" 
Maintenant, j'essaie d'accéder au fichier à partir de celui-ci en utilisant la même adresse mais cela donne une erreur de chemin ou un fichier introuvable.

De Même, j'ai utilisé

"\\.\Attari's Device\myfile.txt"
mais cela a entraîné la même erreur dites-moi comment accéder aux périphériques portables en utilisant l'applet java

Lorsque je navigue vers le périphérique connecté et faites un clic droit sur le fichier et voyez ses propriétés, puis il montre son emplacement comme

Location:  Computer\Attari's Device

De plus, lorsque j'ouvre ce fichier, il est automatiquement placé dans les fichiers temp de mon ordinateur. J'utilise également une Applet signée, il n'y a donc aucun problème d'accès au fichier refusé

J'ai aussi utilisé

File.listRoots()
mais il ne répertorie pas non plus les appareils portables attachés Je dois écrire un fichier dans un appareil portable à l'aide d'une applet java
Author: Umair Aziz, 2012-10-08

1 answers

J'ai trouvé la solution au problème ci-dessus en utilisant la bibliothèque JMTP sur

http://code.google.com/p/jmtp/

Voici mon code

    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();

    }
}

N'oubliez pas d'ajouter jmtp.fichiers dll (qui vient avec le téléchargement jmtp) en tant que bibliothèque native pour plus d'informations, voir ma réponse sur
http://stackoverflow.com/questions/12798530/including-native-library-in-netbeans
 2
Author: Umair Aziz, 2012-10-12 06:15:08