80,469
社区成员




<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
/storage/usbhost/
String oldPath = "/data/data/com.abc.d/files/aa.dat";
String newPath = Environment.getExternalStorageDirectory()
.getParentFile().getParentFile().getPath()
+ "/usbhost/aa.dat";
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { // 原文件存在
InputStream inStream = new FileInputStream(oldPath); // 读入原文件
FileOutputStream fs = new FileOutputStream(newPath); //<- 此句执行异常
byte[] buffer = new byte[1444];
while ((byteread = inStream.read(buffer)) != -1) {
bytesum += byteread;
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
fs.close();
}
Toast.makeText(LoginActivity.this, "成功!",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(LoginActivity.this, "失败!",
Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
还有就是 你确定你外接USB 挂载的路径是在这下面么"/usbhost/ 外接的USB好像java层没法直接访问,需要通过jni去写C++代码通过读写扇区的方式来达到访问USB的目的,你百度查查android有没有提供对usb进行相关操作的API,[/quote]
权限是放AndroidManifest.xml文件中与<application>标签同级
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<application
android:hardwareAccelerated="false"
android:icon="@drawable/logo1"
android:label="@string/menu_title"
android:sharedUserId="android.uid.system" >
<activity
U盘确定是挂载到/storage/usbhost/下的。因为我使用adb shell 命令直接 cp xxx/xx /storage/usbhost/xx是可以的复制过去的<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
还有就是 你确定你外接USB 挂载的路径是在这下面么"/usbhost/ 外接的USB好像java层没法直接访问,需要通过jni去写C++代码通过读写扇区的方式来达到访问USB的目的,你百度查查android有没有提供对usb进行相关操作的API,