路径:“/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");