2016-01-29 4 views
-1

Я экспортирую свою базу данных sqlite, используя этот код.Экспорт базы данных в android

public void exportDB() { 
     File sd = Environment.getExternalStorageDirectory(); 
     File data = Environment.getDataDirectory(); 
     FileChannel source = null; 
     FileChannel destination = null; 
     String backupDBPath = "contactsManager.db"; 
     String currentDBPath = "/data/" + "com.packagename" 
       + "/databases/" + backupDBPath; 
     System.out.println("oooooooooooooo" + currentDBPath); 
     File currentDB = new File(data, currentDBPath); 
     File backupDB = new File(sd, backupDBPath); 
     try { 
      source = new FileInputStream(currentDB).getChannel(); 
      destination = new FileOutputStream(backupDB).getChannel(); 
      destination.transferFrom(source, 0, source.size()); 
      source.close(); 
      destination.close(); 
      Toast.makeText(getApplicationContext(), "DB Exported!", Toast.LENGTH_LONG) 
      .show(); 
      System.out.println("---------db exporeted"); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 


    } 

Но я получаю файл не найденным исключением. Это журнал.

java.io.FileNotFoundException: /data/data/packagename/databases/contactsManager.db: не открыть не удалось: ENOENT (Нет такого файла или каталога)

+1

Проблема в том, что ваш файл 'Строка currentDBPath' –

ответ

0

CurrentDb (источник) не существует. Проверьте свой путь.

Также убедитесь, что DestinationPath существует с backupDB.mkdir()

Смежные вопросы