package de.uni_goettingen.sub.commons.ocr.abbyy.ocrsdk; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URI; import org.apache.commons.io.IOUtils; import de.uni_goettingen.sub.commons.ocr.api.AbstractOutput; /** * Representation of a result output. * * @author dennis * */ public class OcrsdkOutput extends AbstractOutput { @Override public void setLocalUri(URI outputUri) { if (!"file".equals(outputUri.getScheme())) { throw new IllegalArgumentException("Only local outputs are supported. URI is: " + outputUri); } this.localUri = outputUri; } /** * Saves the input to the internal URI. * * @param streamToSave Input that will be saved to the URI */ public void save(InputStream streamToSave) { File outFile = new File(localUri); try { OutputStream fos = new FileOutputStream(outFile); IOUtils.copy(streamToSave, fos); } catch (IOException e) { throw new IllegalStateException("Could not save to " + localUri); } } }