路径:“/sdcard/”适用于所有设备?
Path : "/sdcard/" works in all devices?
我在我的应用程序中使用了此代码。
它可以用于所有设备吗?它可以在所有设备上运行吗?
String path= "/sdcard/.beta1/data/text/myfile.txt";
File myFile = new File(path);
myFile.getParentFile().mkdirs();
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
我也试过Environment.getExternalStorageDirectory().getPath();
但是我很困惑哪个更好更稳定?
Is it OKAY for all the devices ?Will it works on all the devices ?
没有。它不仅不适用于所有设备,而且不适用于所有设备的所有用户。大多数 Android 设备支持多个用户; internal storage and external storage 的不同用户会有不同的路径。 永远不要硬编码路径。
使用getExternalCacheDir()
, getExternalFilesDir()
, Environment.getExternalStoragePublicDirectory()
, or Environment.getExternalStorageDirectory()
处理外部存储上的文件。前两个的优点是不需要 API 19 级及更高级别的任何权限。
读取文件:
final File file = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath(), filename);
filename
这是一个 String
变量
或者你也可以使用:
File sdCardDirectory = new File(Environment.getExternalStorageDirectory() + File.separator + "MyFolder/" + "MyFile.txt");
我在我的应用程序中使用了此代码。
它可以用于所有设备吗?它可以在所有设备上运行吗?
String path= "/sdcard/.beta1/data/text/myfile.txt";
File myFile = new File(path);
myFile.getParentFile().mkdirs();
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
我也试过Environment.getExternalStorageDirectory().getPath();
但是我很困惑哪个更好更稳定?
Is it OKAY for all the devices ?Will it works on all the devices ?
没有。它不仅不适用于所有设备,而且不适用于所有设备的所有用户。大多数 Android 设备支持多个用户; internal storage and external storage 的不同用户会有不同的路径。 永远不要硬编码路径。
使用getExternalCacheDir()
, getExternalFilesDir()
, Environment.getExternalStoragePublicDirectory()
, or Environment.getExternalStorageDirectory()
处理外部存储上的文件。前两个的优点是不需要 API 19 级及更高级别的任何权限。
读取文件:
final File file = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath(), filename);
filename
这是一个 String
变量
或者你也可以使用:
File sdCardDirectory = new File(Environment.getExternalStorageDirectory() + File.separator + "MyFolder/" + "MyFile.txt");