[英]Write file to external storage
我正在尝试将新的wave文件写入外部存储上的Ringtones文件夹。 但是很遗憾,没有创建文件。
我已按照android docs的操作方法进行操作,并按照建议的方式实施了它。
我还在清单中添加了适当的权限。 另外,我还检查了设备的外部存储设备是否可读/可写。
以下代码编写日志语句“未创建目录”。 同样,对流的任何后续调用也会导致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();
}
}
您误解了日志消息的含义及其原因。
记录File.mkdirs()返回:
如果创建目录,则为true,
如果失败或目录已经存在,则返回 false
由于铃声文件夹可能已经存在,因此您可能会遇到第二种情况。
如果您仍然有其他理由认为这不起作用,请将以下catch块产生的堆栈跟踪编辑到您的问题正文中。
我经常忘记自己。 确保您的应用清单中具有此权限:)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.