Problema con generar un archivo txt en netbeans

Mi problema es el siguiente...

Estoy estudiando en el Capitulo 14 de Archivo y flujos del Libro deitel & deitel Java como programar y mi duda es al momento de crear un archivo de texto(si lo crear) e intentar escribir en el(e aki la falla ), no hace nada ni algun mensaje de error que me pudiera ayudar nada ni al presionar fin de archivo (control z) con lo cual se queda colgado...

Pagina-619 ejemplo 14.6

Este es el codigo....

import java.io.FileNotFoundException;
import java.lang.SecurityException;
import java.util.Formatter;
import java.util.FormatterClosedException;
import java.util.NoSuchElementException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

public class CrearArchivoTexto {

    private Formatter salida;

    public void abrirArchivo()
    {
        try
        {
            try {
                salida = new Formatter("clientes.txt");
            } catch (FileNotFoundException filenotfoundexception) {
                System.out.println("Error al crear el archivo");
                System.exit(1);
            }
        }
        catch(SecurityException securityexception)
        {
            System.err.println("No tiene acceso de escritura a este archivo");
            System.exit(1);
        }
    }

    public void agregarRegistros()
    {
        RegistroCuenta registro= new RegistroCuenta();

        Scanner entrada=new Scanner(System.in);

        System.out.printf("%s\n%s\n%s\n\n","Para terminar la entrada,escriba el indicador de fin de archivo",
                "cuando se le pida que escriba los datos de entrada.","Windows escriba <control>z y oprima Intro" );

        System.out.printf("%s\n%s","Escriba el numero de cuenta(>0),primer nombre,apellido paterno y saldo","?" );

        while(entrada.hasNext())
        {
            try
            {
                registro.establecerCuenta(entrada.nextInt());
                registro.establecerPrimerNombre(entrada.nextLine());
                registro.establecerApellidoPaterno(entrada.nextLine());
                registro.establecerSaldo(entrada.nextDouble());

                if(registro.obtenerCuenta()>0)
                {
                    salida.format("%d %s %s %.2f\n",registro.obtenerCuenta(),registro.obtenerPrimerNombre(),
                            registro.obtenerApellidoPaterno(),registro.obtenerSaldo());
                }
                else
                {
                    System.out.println("El numero de cuenta debe ser mayor que 0. ");
                }
            }
        catch(FormatterClosedException formatterclosedexception)
        {
            System.err.println("Error al escribir en el archivo.");
            return;
        }

        catch(NoSuchElementException nosuchelementexception)
        {
            System.err.println("Entrada invalida.Intente de nuevo.");
            entrada.nextLine();
        }

            System.out.printf("%s %s\n%s\n\n","Escriba el numero de cuenta > 0,",
                    "primer nombre,apellido Paterno y saldo.","?");

        }

    }

    public void cerrarArchivo()
    {
        if(salida !=null)
            salida.close();
    }

}

Ojala me pudieran apoyar .....Gracias...

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

Lo único que estás haciendo

Lo único que estás haciendo ahí es formatear líneas de texto, pero no estás escribiendo nada, checa éste tema de SO acá ahí muestra (en la respuesta correcta) los métodos para leer/escribir sobre ficheros, espero te sea de ayuda.
También existe el tutorial oficial de Oracle sobre manejo de ficheros.

Nada mas puse una clase...

Este es todo el programita.........

public class RegistroCuenta {
       

         
         private int cuenta;
         private String primerNombre;
        private String apellidoPaterno;
         private double saldo;
       
         // el constructor sin argumentos llama a otro constructor con valores predeterminados
         public RegistroCuenta()
         {
         this( 0, "", "", 0.0 ); // llama al constructor con cuatro argumentos
         } // fin del constructor de RegistroCuenta sin argumentos
       
         // inicializa un registro
         public RegistroCuenta( int cta, String nombre, String apellido, double sal )
         {
         establecerCuenta( cta );
         establecerPrimerNombre( nombre );
         establecerApellidoPaterno( apellido );
         establecerSaldo( sal );
         
         } // fin del constructor de RegistroCuenta con cuatro argumentos
       
         // establece el número de cuenta
         public void establecerCuenta( int cta )
         {
         cuenta = cta;
         } // fin del método establecerCuenta
       
         // obtiene el número de cuenta
         public int obtenerCuenta()
         {
         return cuenta;
         } // fin del método obtenerCuenta
       
         // establece el primer nombre
         public void establecerPrimerNombre( String nombre )
         {
         primerNombre = nombre;
         } // fin del método establecerPrimerNombre
       
         // obtiene el primer nombre
         public String obtenerPrimerNombre()
         {
         return primerNombre;
         } // fin del método obtenerPrimerNombre
       
         // establece el apellido paterno
         public void establecerApellidoPaterno( String apellido )
         {
         apellidoPaterno = apellido;
         } // fin del método establecerApellidoPaterno
       
         // obtiene el apellido paterno
         public String obtenerApellidoPaterno()
         {
                 return apellidoPaterno;
                  } // fin del método obtenerApellidoPaterno
                 
                  // establece el saldo
                  public void establecerSaldo( double sal )
                  {
                  saldo = sal;
                  } // fin del método establecerSaldo
                 
                  // obtiene el saldo
                  public double obtenerSaldo()
                  {
                  return saldo;
                  } // fin del método obtenerSaldo
                  } // fin de la clase RegistroCuenta

import java.io.FileNotFoundException;
 import java.lang.SecurityException;
 import java.util.Formatter;
 import java.util.FormatterClosedException;
 import java.util.NoSuchElementException;
 import java.util.Scanner;

public class CrearArchivoTexto {
       
        private Formatter salida; // objeto usado para enviar texto al archivo
       
         // permite al usuario abrir el archivo
         public void abrirArchivo()
         {
         try
         {
         salida = new Formatter( "clientes.txt" );
         } // fin de try
         catch ( SecurityException securityException )
         {
         System.err.println(
         "No tiene acceso de escritura a este archivo." );
         System.exit( 1 );
         } // fin de catch
         catch ( FileNotFoundException filesNotFoundException )
         {
         System.err.println( "Error al crear el archivo." );
         System.exit( 1 );
         } // fin de catch
         } // fin del método abrirArchivo
       
         // agrega registros al archivo
         public void agregarRegistros()
         {
         // objeto que se va a escribir en el archivo
         RegistroCuenta registro = new RegistroCuenta();
       
         Scanner entrada = new Scanner( System.in );
       
         System.out.printf( "%s\n%s\n%s\n%s\n\n",
         "Para terminar la entrada, escriba el indicador de fin de archivo ",
         "cuando se le pida que escriba los datos de entrada.",
         "En UNIX/Linux/Mac OS X escriba <ctrl> d y oprima Intro",
         "En Windows escriba <ctrl> z y oprima Intro" );
       
         System.out.printf( "%s\n%s",
         "Escriba el numero de cuenta (> 0), primer nombre, apellido paterno y saldo.",
         "? " );
       
         while ( entrada.hasNext() ) // itera hasta encontrar el indicador de fin de archivo
         {
         try // envía valores al archivo
         {
         // obtiene los datos que se van a enviar
         registro.establecerCuenta( entrada.nextInt() ); // lee el número de cuenta
         registro.establecerPrimerNombre( entrada.next() ); // lee el primer nombre
          registro.establecerApellidoPaterno( entrada.next() ); // lee el apellido paterno
          registro.establecerSaldo( entrada.nextDouble() ); // lee el saldo
         
          if ( registro.obtenerCuenta() > 0 )
          {
          // escribe el nuevo registro
          salida.format( "%d %s %s %.2f\n", registro.obtenerCuenta(),
          registro.obtenerPrimerNombre(), registro.obtenerApellidoPaterno(),
          registro.obtenerSaldo() );
          } // fin de if
          else
          {
          System.out.println(
          "El numero de cuenta debe ser mayor que 0." );
          } // fin de else
          } // fin de try
          catch ( FormatterClosedException formatterClosedException )
          {
          System.err.println( "Error al escribir en el archivo." );
          return;
          } // fin de catch
          catch ( NoSuchElementException elementException )
          {
          System.err.println( "Entrada invalida. Intente de nuevo." );
          entrada.nextLine(); // descarta la entrada para que el usuario intente de
         
          } // fin de catch
         
         System.out.printf( "%s %s\n%s", "Escriba el numero de cuenta (> 0),",
          "primer nombre, apellido paterno y saldo.", "? " );
          } // fin de while
          } // fin del método agregarRegistros
         
          // cierra el file
          public void cerrarArchivo()
          {
          if ( salida != null )
          salida.close();
          } // fin del método cerrarArchivo
          } // fin de la clase CrearArchivoTexto

public class PruebaCrearArchivoTexto {

        /**
         * @param args
         */

        public static void main(String[] args) {
                CrearArchivoTexto aplicacion = new CrearArchivoTexto();
               
                 aplicacion.abrirArchivo();
                 aplicacion.agregarRegistros();
                 aplicacion.cerrarArchivo();
        }

}

Este programita me corre en eclipse sin problemas..... pero al correrlo en netbeans se queda colgado ni reconoce el fin de archivo (control z)....no especifique bien el problema ni todo el codigo perdon ........

Ya busque en foros y no he encontardo el porque pasa esto solo en netbeans...