Я использую приведенный ниже код для перемещения файлов на Android.Ошибка при перемещении файлов в Android
public static void moveFile(String inputPath, String inputFile, String outputPath, String absolutePath) {
InputStream in = null;
OutputStream out = null;
try {
//create output directory if it doesn't exist
File dir = new File (outputPath);
if (!dir.exists())
{
dir.mkdirs();
}
in = new FileInputStream(inputPath + inputFile);
out = new FileOutputStream(outputPath + inputFile);
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
in.close();
in = null;
// write the output file
out.flush();
out.close();
out = null;
// delete the original file
new File(absolutePath).delete();
}
catch (FileNotFoundException fnfe1) {
Log.e("Moving file not found", fnfe1.getMessage());
}
catch (Exception e) {
Log.e("While Moving", e.getMessage());
}
Но большинство времени он показывает мне ошибку, как показано ниже:
Moving файл не найден: /call_14-43-46_IN_+919737276726.amr (только для чтения файловой системы)
Я проверил, и файл, который должен быть перемещен, является обычным файлом, а не только для чтения, поскольку он записывается регистратором вызовов. Пожалуйста, помогите.
Показать, как вы называете эту функцию. Покажите значение параметров. – greenapps
'dir.mkdirs();'. Проверьте возвращаемое значение, так как оно может не создать директорию. В этом случае вы увидите тост для пользователя, говорящего об этом. И вернуться. Не продолжайте, так как мало смысла пытаться создать файл в директории, которая не существует. – greenapps