Java 如何在android studio中导出和导入数据库sqlite?

Java 如何在android studio中导出和导入数据库sqlite?,java,android,sqlite,android-studio,export,Java,Android,Sqlite,Android Studio,Export,我正在尝试在我的android应用程序中实现导出和导入,我已经尝试了下面的导出,但它不起作用,也没有给出任何错误。谁能帮我一下吗 public static void export() throws IOException { //Open your local db as the input stream String inFileName = "/data/data/com.example.main/databases/myDB"; File dbFile = new

我正在尝试在我的android应用程序中实现导出和导入,我已经尝试了下面的导出,但它不起作用,也没有给出任何错误。谁能帮我一下吗

public static void export() throws IOException {
    //Open your local db as the input stream
    String inFileName = "/data/data/com.example.main/databases/myDB";
    File dbFile = new File(inFileName);
    FileInputStream fis = new FileInputStream(dbFile);

    String outFileName = Environment.getExternalStorageDirectory()+"/myDB";
    //Open the empty db as the output stream
    OutputStream output = new FileOutputStream(outFileName);
    //transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = fis.read(buffer))>0){
        output.write(buffer, 0, length);
    }
    //Close the streams
    output.flush();
    output.close();
    fis.close();
}
我这样称呼这个方法:

try {
    export();
}
catch (IOException e) {
    e.printStackTrace();
}

我做错了什么?而且一旦导出,如何将数据导入回?

我相信您的要求在这里得到了回答。。。这对我很管用


注意:这不是一个懒惰的回答,简单地说,我知道这是有效的,所以希望它能帮助海报

请详细解释它不起作用的含义。我不确定到底是什么不起作用,数据没有被导出。我在一个按钮点击中导出方法,所以当我按下一个按钮时,什么都没有发生。如果我的方法中有Log.d也没有被调用,那么代码是从哪里来的?你明白吗?日志中有堆栈跟踪吗?我没有堆栈跟踪。你确定这就是导出数据库的方式吗?您是否可以检查您正在使用FileInputStream读取的文件是否可以以这种方式导出?在我看来,您需要某种与SQL通信的方式来请求此操作。这也不起作用,我知道这两种代码都是正确的,可能还有其他错误吗?我正在调用write方法,但不确定它们是否正在执行,因为日志没有打印,你能给我一些关于如何使其工作的指针吗?嗨,Adam,对我来说,我在一个特定的实用程序类中创建了一个静态函数,然后对它进行了调用。另外,我所做的是确保清单包含android.permission.WRITE\u外部存储。有没有可能你错过了?谢谢你回来。我已经在清单中声明了权限。亚当,你有没有尝试在代码运行时单步检查代码?我想知道你的道路是否。。。当应用程序逐步通过上述代码时,是否都正确?我对android相当陌生,您能告诉我如何逐步通过代码吗?我知道我的inFileName目录是正确的,因为我已经使用命令查看了它。我不知道如何访问我的数据库,因为adnroid显示器没有显示我的手机。