/* 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();
}
}