在Android中,可以通过以下代码示例从SD卡获取文件字节:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
private static final String FILE_PATH = "/sdcard/myfile.txt";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 检查SD卡是否可用
if (isExternalStorageReadable()) {
// 获取SD卡上的文件
File file = new File(FILE_PATH);
try {
// 创建文件输入流
FileInputStream fis = new FileInputStream(file);
// 读取文件内容并存储到字节数组
byte[] bytes = new byte[(int) file.length()];
fis.read(bytes);
fis.close();
// 在这里可以对字节数组做进一步的处理
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 检查SD卡是否可用
private boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
return Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state);
}
}
请确保在AndroidManifest.xml文件中添加了读写SD卡权限:
在上述代码中,我们首先检查SD卡的可用性。然后,我们通过创建一个FileInputStream
对象来读取SD卡上的文件。然后,我们创建了一个与文件大小相同的字节数组,并使用fis.read(bytes)
方法将文件内容读取到字节数组中。最后,你可以在此处对字节数组进行进一步的处理。