/* See LICENSE for licensing and NOTICE for copyright. */ package org.cryptacular.io; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; /** * Resource that produces a buffered {@link FileInputStream} from a file. * * @author Middleware Services */ public class FileResource implements Resource { /** Underlying file resource. */ private File file; /** * Creates a new file resource. * * @param file Non-null file. */ public FileResource(final File file) { if (file == null) { throw new IllegalArgumentException("File cannot be null."); } this.file = file; } @Override public InputStream getInputStream() throws IOException { return new BufferedInputStream(new FileInputStream(file)); } @Override public String toString() { return file.toString(); } }