2

我正在尝试使用 java 小程序访问在 Windows 7中显示为便携式设备的设备中的某些文件(其中包含“Windows CE”应用程序)。

我的设备路径就像

“计算机\Attari 的设备\myfile.txt”
现在我正在尝试使用相同的地址从中访问文件,但它给出了路径错误或找不到文件。

同样我用

"\\.\Attari 的设备\myfile.txt"
但它导致了同样的错误告诉我如何使用 java applet 访问便携式设备

当我导航到连接的设备并右键单击文件并查看它的属性时,它显示它的位置为

位置:电脑\Attari的设备

此外,当我打开此文件时,它会自动放入我计算机的临时文件中。我也在使用签名小程序,所以没有文件访问被拒绝的问题

我也用过

文件.listRoots()
但它也没有列出附加的便携式设备我必须使用 java applet 在便携式设备中写入一些文件

4

1 回答 1

2

我使用 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();

    }
}

不要忘记添加 jmtp.dll 文件(附带 jmtp 下载)作为本机库以获取更多信息,请参阅我的回答

http://stackoverflow.com/questions/12798530/includes-native-library-in-netbeans
于 2012-10-11T07:45:15.670 回答