2015-05-11 3 views
1

У меня есть следующий код для чтения набора данных в модель jena с использованием входного потока, но я бы хотел, чтобы моя программа также могла читать сжатые (gzipped) файлы (используя filePath).jena read inputstream от gzipped file

Dataset dataset = TDBFactory.createDataset(tdbPath); 
Model model = dataset.getDefaultModel(); 
InputStream str = FileManager.get().open(filePath); 
model.read(str,null, "N-TRIPLES"); 

ответ

1

Вам нужно создать GZIPInputStream, чтобы прочитать то

Dataset dataset = TDBFactory.createDataset(tdbPath); 
Model model = dataset.getDefaultModel(); 
InputStream str = FileManager.get().open(filePath); 
if (useGZIP) { 
    str = new GZIPInputStream(str); 
} 
model.read(str,null, "N-TRIPLES"); 
0

Если вы используете более новую RDFDataMgr API, то сжатие GZip должны быть обработаны полностью прозрачно:

RDFDataMgr.read(model, filePath, Lang.NTRIPLES);