Custom import filters
Adding a custom import filter
Creating an import filter
A simple example
1936;John Maynard Keynes;The General Theory of Employment, Interest and Money
2003;Boldrin & Levine;Case Against Intellectual Monopoly
2004;ROBERT HUNT AND JAMES BESSEN;The Software Patent Experimentimport java.io.BufferedReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import net.sf.jabref.logic.importer.Importer;
import net.sf.jabref.logic.importer.ParserResult;
import net.sf.jabref.logic.util.FileExtensions;
import net.sf.jabref.model.entry.BibEntry;
import net.sf.jabref.model.entry.BibtexEntryTypes;
public class SimpleCSVImporter extends Importer {
@Override
public String getName() {
return "Simple CSV Importer";
}
@Override
public FileExtensions getExtensions() {
return FileExtensions.TXT;
}
@Override
public String getDescription() {
return "Imports CSV files, where every field is separated by a semicolon.";
}
@Override
public boolean isRecognizedFormat(BufferedReader reader) {
return true; // this is discouraged except for demonstration purposes
}
@Override
public ParserResult importDatabase(BufferedReader input) throws IOException {
List<BibEntry> bibitems = new ArrayList<>();
String line = input.readLine();
while (line != null) {
if (!line.trim().isEmpty()) {
String[] fields = line.split(";");
BibEntry be = new BibEntry();
be.setType(BibtexEntryTypes.TECHREPORT);
be.setField("year", fields[0]);
be.setField("author", fields[1]);
be.setField("title", fields[2]);
bibitems.add(be);
line = input.readLine();
}
}
return new ParserResult(bibitems);
}
}Sharing your work
Last updated
Was this helpful?