我对 Android 相当陌生,并且正在写入某个文件。我要做的是使用 TextToSpeech.synthesizeToFile() 方法来编写音频文件。这是有效的,除了当应用程序退出时 TextToSpeech 引擎会自动删除它创建的文件。所以我然后尝试在另一个目录中复制创建的文件。为此,我使用了 org.apache.commons.io.FileUtils 包的 copyFile() 方法。使用此方法只会导致新创建的文件大小为 0。我正在使用 Environment.getExternalStorageDirectory() 来获取适当的外部存储目录。我尝试写入现有目录,例如 /mnt/sdcard/Ringtones/ 以及 /mnt/sdcard/... 下新创建的目录
我检查的另一件事是 File.canWrite() 对目标文件的结果。这实际上返回 false,这可能是一个线索。但是 File.setWritable() 方法似乎不存在来改变它。
我正在使用如下代码,我没有看到任何异常被抛出
try {
File from = new File(tempDestFile);
File to = new File(permDestFile);
FileUtils.copyFile(from, to);
} catch(IOException e) {
Log.e(T, "Error copying file", e);
} catch(NullPointerException e) {
Log.e(T, "Error copying file", e);
}
关于我可以尝试什么的任何想法?到目前为止,我没有发现任何东西对我有很大帮助。
谢谢!对于这样的主题,我真的很感激这样一个很棒的资源。