Skip to content

Instantly share code, notes, and snippets.

@cfitz
Created June 23, 2016 20:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cfitz/441980bf6afed33e8e2b09d2cc82df60 to your computer and use it in GitHub Desktop.
Save cfitz/441980bf6afed33e8e2b09d2cc82df60 to your computer and use it in GitHub Desktop.
marc4 example
mport org.marc4j.MarcReader;
import org.marc4j.MarcStreamReader;
import org.marc4j.marc.Record;
import org.marc4j.marc.DataField;
import org.marc4j.MarcWriter;
import org.marc4j.MarcStreamWriter;
import org.marc4j.marc.MarcFactory;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class demo {
public static void main(String[] args) {
MarcFactory factory = MarcFactory.newInstance();
InputStream in;
OutputStream out;
try {
in = new FileInputStream("summerland.mrc");
out = new FileOutputStream(new File("output.mrc"));
;
MarcReader reader = new MarcStreamReader(in);
while (reader.hasNext()) {
Record record = reader.next();
DataField df = factory.newDataField("245", '1', '0');
df.addSubfield(factory.newSubfield('a', "Malmö /"));
df.addSubfield(factory.newSubfield('c', "ääääååååååå"));
record.addVariableField(df);
// System.out.println(record.toString());
MarcWriter writer = new MarcStreamWriter(out, "UTF8" );
writer.write(record);
writer.close();
}
in = new FileInputStream("output.mrc");
reader = new MarcStreamReader(in);
while (reader.hasNext()) {
Record record = reader.next();
System.out.println(record.toString());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment