我正在尝试将新的wave文件写入外部存储器上的Ringtones文件夹。但不幸的是,该文件没有被创建。将文件写入外部存储器
我跟随了关于如何做到这一点的android文档,并按照建议的方式实现了它。
我也在清单中添加了适当的权限。另外,我检查了我的设备外部存储是可读/可写的。
以下代码写入日志语句“目录未创建”。而且,任何后续的流式调用都会导致nullPointer。
public WavFileOutStream(String fileName)
{
// Get the directory for the user's public pictures directory.
File file = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_RINGTONES), fileName);
if (!file.getParentFile().mkdirs()) {
Log.e("trace", "Directory not created");
}
try {
stream = new DataOutputStream(new FileOutputStream(file));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
是目录铃声已经存在于文件系统此权限的应用程序? – Kakarot
是目录铃声已经存在。 – user3341858
在这种情况下,mkdir()将返回false ....参考http://docs.oracle.com/javase/7/docs/api/java/io/File.html#mkdir() – Kakarot