Go to the documentation of this file.
19package org.sleuthkit.autopsy.textextractors;
21import java.io.IOException;
23import java.util.Iterator;
24import java.util.Objects;
25import java.util.function.Consumer;
26import java.util.logging.Level;
27import org.sleuthkit.autopsy.coreutils.SQLiteTableReaderException;
28import org.sleuthkit.autopsy.coreutils.Logger;
29import org.sleuthkit.autopsy.coreutils.SQLiteTableReader;
30import org.sleuthkit.datamodel.AbstractFile;
43 private static final String SQLITE_MIMETYPE =
"application/x-sqlite3";
44 private static final Logger logger = Logger.getLogger(SqliteTextExtractor.class.getName());
45 private final AbstractFile file;
47 SqliteTextExtractor(AbstractFile file) {
60 return SQLITE_MIMETYPE.equals(file.getMIMEType());
82 private class SQLiteStreamReader
extends Reader {
85 private final AbstractFile
file;
104 SQLiteStreamReader(AbstractFile
file) {
123 return new Consumer<Object>() {
124 private int columnIndex = 0;
127 public void accept(Object value) {
130 String objectStr = (value instanceof
byte[]) ?
"" : Objects.toString(value,
"");
135 if (columnIndex == 1) {
136 objectStr =
"\t" + objectStr +
" ";
161 return new Consumer<String>() {
162 private int columnIndex = 0;
165 public void accept(String columnName) {
166 if (columnIndex == 0) {
187 for (
int i = 0; i < val.length(); i++) {
206 public int read(
char[] cbuf,
int off,
int len)
throws IOException {
236 logger.log(Level.WARNING, String.format(
237 "Error attempting to read file table: [%s]"
239 file.getName(),
file.getId()), ex.getMessage());
251 logger.log(Level.WARNING, String.format(
252 "Error attempting to read file table: [%s]"
254 file.getName(),
file.getId()), ex.getMessage());
263 public void close() throws IOException {
267 logger.log(Level.WARNING,
"Could not close SQliteTableReader.", ex.getMessage());
275 private class ExcessBytes {
285 boolean isFinished() {
299 int read(
char[]
buf,
int off,
int len) {
300 for (
int i = off; i < len; i++) {
Builder forAllTableValues(Consumer< Object > action)
Builder forAllColumnNames(Consumer< String > action)
SQLiteTableReader build()
Copyright © 2012-2024 Sleuth Kit Labs. Generated on:
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.