1、AndroidManifest.xml中添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2、AndroidManifest.xml中application节点添加
android:requestLegacyExternalStorage="true"
3、代码中动态申请权限
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
4、读写代码
public static void writeToFile(byte[] bytes, String path) {
String SDCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator;
path = SDCardRoot + path;
File f = new File(path);
if (!f.getParentFile().exists())
f.getParentFile().mkdirs();
if (bytes!=null) {
try (FileOutputStream out = new FileOutputStream(path))
{
out.write(bytes);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static byte[] readFromFile(String path) {
String SDCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator;
path = SDCardRoot + path;
File f = new File(path);
if (!f.isFile() || !f.exists())
return null;
long len = f.length();
try (InputStream in = new FileInputStream(path))
{
byte b[]=new byte[(int) len];
in.read(b);
return b;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}