Android 如何将我的数据库拆分为1 mb的数据块?

Android 如何将我的数据库拆分为1 mb的数据块?,android,sqlite,syntax,terminal,split,Android,Sqlite,Syntax,Terminal,Split,我有一个名为sports.db的sqlite数据库,大小为9.8MB。我想把它在终端上分成1mb的部分(我讨厌你Android),终端命令的语法是什么 split 1 sports.db不是为我做的 编辑: 在DOS或与mac等效的终端上,可以将文件切割成原始的二进制文件。这就是我想要做的。我就是搞不懂语法 谢谢 最新更新: 这就是我想要的东西- split-b1m输入前缀 其中输入和前缀是您的输入文件,您希望输出文件的前缀是什么我不完全理解您想要做什么。但若你们想将数据库从资产复制到sd卡或内

我有一个名为sports.db的sqlite数据库,大小为9.8MB。我想把它在终端上分成1mb的部分(我讨厌你Android),终端命令的语法是什么

split 1 sports.db不是为我做的

编辑:

在DOS或与mac等效的终端上,可以将文件切割成原始的二进制文件。这就是我想要做的。我就是搞不懂语法

谢谢

最新更新:

这就是我想要的东西-

split-b1m输入前缀


其中输入和前缀是您的输入文件,您希望输出文件的前缀是什么

我不完全理解您想要做什么。但若你们想将数据库从资产复制到sd卡或内部存储,我有一些你们可能需要的解决方案。 使用hj Split将数据库拆分为1MB,并使用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();
    }
InputStream数据库输入=null;
字符串outFileName=DB_路径+DB_名称\\这是您的数据库名称和路径
OutputStream databaseOutput=新文件OutputStream(outFileName);
字节[]缓冲区=新字节[1024];
整数长度;
对于(int i=1;i 0){
databaseOutput.write(缓冲区,0,长度);
databaseOutput.flush();
}
databaseInput.close();
}

希望这能有所帮助

谢谢你的回答,抱歉含糊不清,更多信息请参见我上面的更新。我不知道你为什么要这么做,但我想这可能是因为android对资源大小施加了1mb的限制。如果是这样的话,另一种解决方法似乎是给db起一个不同的名字(不是aapt压缩的类型),例如sports.mp3,请参见此相关问题: