Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (C) 2012 Trillian Mobile AB
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/gpl-2.0.html>.
 */
package org.robovm.compiler.util.io;
java.io.OutputStream which writes to a java.io.FileOutputStream but defers opening the java.io.FileOutputStream until the first write.
public class OpenOnWriteFileOutputStream extends OutputStream {
    private final File file;
    private OutputStream out;
    
    public OpenOnWriteFileOutputStream(File file) {
        this. = file;
    }
    
    private void ensureOpen() throws IOException {
        if ( == null) {
             = new FileOutputStream();
        }
    }
    
    public void close() throws IOException {
        ensureOpen();
        .close();
    }
    public void flush() throws IOException {
        ensureOpen();
        .flush();
    }
    public void write(int bthrows IOException {
        ensureOpen();
        .write(b);
    }
    
    public void write(byte[] bthrows IOException {
        ensureOpen();
        .write(b);
    }
    
    public void write(byte[] bint offint lenthrows IOException {
        ensureOpen();
        .write(bofflen);
    }
New to GrepCode? Check out our FAQ X