我试图访问出现在使用Java小程序Windows 7作为便携式设备的设备(它有“windows CE的”应用程序)的一些文件....
我的设备路径是像
“计算机\ Attari的Device \ myfile.txt的”
现在,我试图使用相同的地址从它访问文件,但它给没有找到路径的错误或文件。
同样地,我使用
“\\。\ Attari的Device \ myfile.txt的”
但它造成了同样的错误使用Java小程序告诉我如何访问便携设备
当我浏览到所连接的设备,然后右键点击文件,看看它的属性那么就说明它的位置为
Location: Computer\Attari's Device
此外,当我打开这个文件时,它会自动放置在我的电脑上的临时文件。 我使用签名的小以及因此不存在被拒绝的文件访问问题
我也用
File.listRoots()
但它也不会列出连接便携式设备我有使用Java小程序写在便携式设备上的某些文件
我发现使用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