在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的一部分,只包含带引号的代码。

问题:文件没有创建

+0

“我的目标是写在一个不存在的文件中的一些文本的外置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