获得使用Java便携设备(Getting Portable Devices using java)

2019-08-01 06:03发布

我试图访问出现在使用Java小程序Windows 7作为便携式设备的设备(它有“windows CE的”应用程序)的一些文件....

我的设备路径是像

  “计算机\ Attari的Device \ myfile.txt的” 
现在,我试图使用相同的地址从它访问文件,但它给没有找到路径的错误或文件。

同样地,我使用

  “\\。\ Attari的Device \ myfile.txt的” 
但它造成了同样的错误使用Java小程序告诉我如何访问便携设备

当我浏览到所连接的设备,然后右键点击文件,看看它的属性那么就说明它的位置为

Location:  Computer\Attari's Device

此外,当我打开这个文件时,它会自动放置在我的电脑上的临时文件。 我使用签名的小以及因此不存在被拒绝的文件访问问题

我也用

  File.listRoots() 
但它也不会列出连接便携式设备我有使用Java小程序写在便携式设备上的某些文件

Answer 1:

我发现使用JMTP库上解决上述问题

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

这里是我的代码

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

    }
}

DONOT忘记添加jmtp.dll文件(与jmtp下载出现)的更多信息本机库看到我的答案

http://stackoverflow.com/questions/12798530/including-native-library-in-netbeans


文章来源: Getting Portable Devices using java