Вы можете заменить объект, который использует файл, на NullObject
Например, вы можете использовать NullInputStream и передать его сканеру.
До:
public void whatever( File f ) {
Scanner scanner = new Scanner( f );
...
}
* После 1008 *
public void whatever( File f ) {
Scanner scanner = new Scanner( getInputStreamFrom( f ) );
...
}
И этот метод реализован так:
private final InputStream getInputStreamFrom( File f ) {
if( f == null && !f.exists() ) {
return NullInputStream.instance;
}
return new InputStream( new FileInputStream( f ) );
}
class NulllInputStream extends InputStream {
private final static NullInputStream instance = new NullInputStream();
private NullInputStream() {
}
public int read() {
return -1;
}
.... other relevant methods here...
}
Очевидно, кодируется осторожно, а не через 3 минуты. как и я :) :) :)