以下是关于Android识别U盘以及读写文件的方法的完整攻略:
识别U盘
- 在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\" />
<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />
- 创建BroadcastReceiver来监听U盘插拔事件:
public class USBReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action != null) {
if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
// U盘已插入
String usbPath = intent.getData().getPath();
// 处理U盘的读写操作
handleUSB(usbPath);
} else if (action.equals(Intent.ACTION_MEDIA_REMOVED)) {
// U盘已移除
}
}
}
}
- 在AndroidManifest.xml文件中注册BroadcastReceiver:
<receiver android:name=\".USBReceiver\">
<intent-filter>
<action android:name=\"android.intent.action.MEDIA_MOUNTED\" />
<action android:name=\"android.intent.action.MEDIA_REMOVED\" />
<data android:scheme=\"file\" />
</intent-filter>
</receiver>
读写文件
- 获取U盘的路径后,可以使用Java的File类进行文件读写操作。以下是一个示例:
String usbPath = \"/mnt/usb_storage/USB_DISK0\";
File file = new File(usbPath, \"test.txt\");
try {
// 文件写入
FileWriter writer = new FileWriter(file);
writer.write(\"Hello, USB!\");
writer.close();
// 文件读取
FileReader reader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
// 处理读取的内容
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
- 另一种读写文件的方式是使用InputStream和OutputStream。以下是一个示例:
String usbPath = \"/mnt/usb_storage/USB_DISK0\";
File file = new File(usbPath, \"test.txt\");
try {
// 文件写入
OutputStream outputStream = new FileOutputStream(file);
String content = \"Hello, USB!\";
outputStream.write(content.getBytes());
outputStream.close();
// 文件读取
InputStream inputStream = new FileInputStream(file);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
// 处理读取的内容
}
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
以上是关于Android识别U盘以及读写文件的方法的完整攻略。根据具体需求,您可以根据示例代码进行定制和优化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:android 识别U盘以及读写文件的方法 - Python技术站