Streams works fine, but you might get better performance using java.io.RandomAccessFile . Streams have quite a lot of infrastructure that you just do not need for a simple file copying operation. If you can be sure that your files are not too big, you can read the whole source file into a byte array with one operation on a RandomAccessFile (opened "r") and write it to the target file with one operation on a second RandomAccessFile (opened "w"). If could be big, read/write it in chunks using a loop rather like the one you used for streams. Opening the target RandomAccessFile will cause it to get created, too. No need for explicit creation (but do check, if necessary, that no such file already exists).
Betty Rubble? Well, I would go with Betty... but I'd be thinking of Wilma.