Eu encontrei a solução:
Process p = rt.exec(new String[]{"/bin/sh", "-c", "sqlite3 /home/ubuntu/testingdb.sqlite .dump > /home/ubuntu/success11.sql"});
Ele fornece um arquivo de despejo completo do banco de dados sqlite.
Eu quero criar o arquivo de despejo do banco de dados sqlite de java, mas não posso executar o comando abaixo do linux. Eu tenho a ajuda do windows e tentei com o linux mas parece um terminal nada mais que isso. Então alguém pode me ajudar a escrever esse comando no linux?
Process p = Runtime.getRuntime().exec("cmd /c start /b sqlite3 db.sqlite .dump > dump.txt");
Minha implementação no Linux está abaixo:
String command= "/usr/bin/xterm";
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(new String[]{command , "/home/ubuntu/test.sqlite .dump > /home/ubuntu/newsql111.sql"});
Alguém pode me dizer onde está o meu erro?
Você não precisa de um xterm, mas precisa de um sqlite3. Isso é que você está correndo
/usr/bin/xterm /home/ubuntu/test.sqlite .dump > …
quando você realmente precisa executar
/bin/sh -c "sqlite3 /home/ubuntu/test.sqlite .dump > …"
onde suponho que seu banco de dados seja… / test.sqlite. Vou deixar os detalhes do Java para você.