在Android应用的外部SD卡上的现有目录中创建文件
问题描述:
我的目标是在外部SD卡的给定目录中的一个不存在的文件中写入一些文本。不幸的是,我无法使用我的android应用程序在目录中创建这样的文件。
我发现了几个适用于其他人的代码示例,但它们不适用于我的应用程序。因此,任何建议都不胜感激。谢谢!在Android应用的外部SD卡上的现有目录中创建文件
这里是我的相关代码:
1.清单
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2. Java的类
FileOutputStream fos ;
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
try {
File sdCard = Environment.getExternalStorageDirectory();
File file = new File(sdCard.getAbsolutePath() + File.separator +
"givenDirectory" + File.separator + "newFile");
fos = new FileOutputStream(file);
String data = "some text";
fos.write(data.getBytes());
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我使用的Android版本5.1.1我移动电话。 java类的提取是静态void的一部分,只包含带引号的代码。
问题:文件没有创建
“我的目标是写在一个不存在的文件中的一些文本的外置SD卡上的指定目录” - 您的代码是用于[外部存储](https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html)。这不是[可移动存储](https://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html)(我如何解释“外部SD卡”)。除此之外,您应该查看LogCat以查找与异常处理程序关联的任何Java堆栈跟踪,并且应该使用'adb shell'来查看文件是否存在,因为您没有编制索引。 – CommonsWare