
com.readystatesoftware.sqliteasset.Utils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sqliteassethelper Show documentation
Show all versions of sqliteassethelper Show documentation
An Android helper class to manage database creation and version management using an application's raw asset files
package com.readystatesoftware.sqliteasset;
import android.util.Log;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
class Utils {
private static final String TAG = SQLiteAssetHelper.class.getSimpleName();
public static List splitSqlScript(String script, char delim) {
List statements = new ArrayList();
StringBuilder sb = new StringBuilder();
boolean inLiteral = false;
char[] content = script.toCharArray();
for (int i = 0; i < script.length(); i++) {
if (content[i] == '"') {
inLiteral = !inLiteral;
}
if (content[i] == delim && !inLiteral) {
if (sb.length() > 0) {
statements.add(sb.toString().trim());
sb = new StringBuilder();
}
} else {
sb.append(content[i]);
}
}
if (sb.length() > 0) {
statements.add(sb.toString().trim());
}
return statements;
}
public static void writeExtractedFileToDisk(InputStream in, OutputStream outs) throws IOException {
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer))>0){
outs.write(buffer, 0, length);
}
outs.flush();
outs.close();
in.close();
}
public static ZipInputStream getFileFromZip(InputStream zipFileStream) throws IOException {
ZipInputStream zis = new ZipInputStream(zipFileStream);
ZipEntry ze;
while ((ze = zis.getNextEntry()) != null) {
Log.w(TAG, "extracting file: '" + ze.getName() + "'...");
return zis;
}
return null;
}
public static String convertStreamToString(InputStream is) {
return new Scanner(is).useDelimiter("\\A").next();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy