Quando faço uma entrada pelo teclado gravando em um arquivo existente funciona perfeitamente, no entanto, se instancio o OutputStream com um nome de arquivo que não existe, não gera/escreve nesse novo arquivo. O que eu preciso acrescentar/mudar para gerar esse novo arquivo e escrever nele?
package br.com.alura.java.io.teste;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
public class TesteLeituraTeclado {
    public static void main(String[] args) throws IOException {
        InputStream inputFile = System.in;
        Reader inputStream = new InputStreamReader(inputFile);
        BufferedReader inputBuffer = new BufferedReader(inputStream);
        OutputStream outputFile = new FileOutputStream("novo_arquivo.txt");
        Writer outputStream = new OutputStreamWriter(outputFile);
        BufferedWriter outputBuffer = new BufferedWriter(outputStream);
        String linha = inputBuffer.readLine();
        while(linha != null && !linha.isEmpty()) {
            outputBuffer.write(linha);
            outputBuffer.newLine();
            linha = inputBuffer.readLine();
        }
        inputBuffer.close();
        outputBuffer.close();
    }
}