我试着在我的手机内存中写一些东西。
起初,我将路径硬编码为:
myFile = new File("/sdcard/" + txtName.getText() + ".txt");
这完全可以。
然后,eclipse 给了我一个警告,说我不应该像那样硬编码路径,我应该执行以下操作:
myFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/"+ txtName.getText() + ".txt");
然后我遵循更正建议并避免警告。
但是,我在编写器类上遇到了运行时异常。
Environment.getExternalStorageDirectory().getAbsolutePath()
然后,我出于调试目的打印出来。结果是
/存储/SD卡0
. 但是以前工作得很好的硬编码实际上是
/SD卡
.
为什么会发生这种情况?
如果我希望避免警告,如何以更“正式和正确”的方式获取路径目录,而不是对路径进行硬编码?
PS:我的手机是HTC One X,没有外置SD卡槽。我猜32GB的存储是内置SD卡的,所以本质应该是一样的。