Как я могу разделить мою БД на кусочки по 1 Мб? - PullRequest
2 голосов
/ 04 мая 2011

У меня есть sqlite db с именем sports.db, размер которого составляет 9,8 МБ.Я хотел бы разделить его в терминале на 1 Мб (я ненавижу тебя, Android), какой синтаксис команды терминала будет делать это для меня?

split 1 sports.db не сделал это для меня...

РЕДАКТИРОВАТЬ:

Возможно разрезать файл на необработанные двоичные фрагменты в DOS или эквивалентный Mac терминал.Это все, что я хочу сделать.Я просто не могу понять синтаксис.

Спасибо

ПОЗДНЕЕ ОБНОВЛЕНИЕ:

Это то, что сработало для того, что я хотел -

split -b1 м входной префикс

где input и prefix - это ваш входной файл, а префикс ваших выходных файлов должен быть

1 Ответ

1 голос
/ 04 мая 2011

Я не совсем понимаю, что ты хочешь делать.Но если вы хотите скопировать базу данных на SD-карту или во внутреннее хранилище из ресурсов, у меня есть решение, которое вам может понадобиться.Разделите базу данных на 1 МБ, используя hj-split, и скопируйте, используя InputStream.Вот код для вас

    InputStream databaseInput = null;
    String outFileName = DB_PATH + DB_NAME;\\here is u'r db name and path
    OutputStream databaseOutput = new FileOutputStream(outFileName);

    byte[] buffer = new byte[1024];
    int length;
    for(int i=1;i<10;i++){
        databaseInput = myContext.getAssets().open("sport.db.00"+i);\\
        while ((length = databaseInput.read(buffer)) > 0) {
            databaseOutput.write(buffer, 0, length);
            databaseOutput.flush();
        }
        databaseInput.close();
    }

Надеюсь, что это может помочь

...