Java - Enumerar BOLETA sin base de datos

   
Vista:
Imágen de perfil de grek

Enumerar BOLETA sin base de datos

Publicado por grek martinez0644@hotmail.com (9 intervenciones) el 24/04/2015 23:22:13
Hola Buenas tarde a Todos bueno tengo dudas muchas no tengo una idea nada de nada, de como puedo hacer que mi boleta siga un numero secuencial sin utilizar una base de datos por ejem: 0001 luego q sea 0002 o con 100000 y la gte boleta sea 100002 y asi suscevamente es posible hacer eso sin utilizar una BD ??gracias por su Gentil ayuda

nro boleta 00001
nro Boleta 00002

Aqui adjunto mi Codigo Fuente gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Enumerar BOLETA sin base de datos

Publicado por Andrés andres.mella.romero@gmail.com (231 intervenciones) el 30/04/2015 02:44:02
Ya esta, pero no veo donde es que se requiere este valor, dale una revisada y me dices .
env
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package secuencia;
 
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 *
 * @author Andrés Mella
 */
public final class ManejadorSecuencia {
 
    private final static String FICHERO_SECUENCIA_ENV = "FICHERO_SECUENCIA";
 
    private ManejadorSecuencia(){}
 
    //Llamar a este metodo para obtener el valor de la secuencia !
    public static String nextValue() {
 
        //La secuencia tiene una longitud de 10 caracteres
        //Inicia con ceros por la izquierda
        //1.- Obtener el numero de secuencia Actual
        //1.1 Obtener el valor de la variable de entorno FICHERO_SECUENCIA
        String rutaFichero = System.getenv(FICHERO_SECUENCIA_ENV);
        File fichero =  new File(rutaFichero);
        Long valorActual = getValorActual(fichero);
        //Incrementar el valor y guardarlo.
        guardarSiguienteValor(valorActual, fichero);
 
        return formatearValor(valorActual);
 
    }
 
    private static String formatearValor(Long valor) {
 
        return String.format("%010d", valor);
 
    }
 
    private static void guardarSiguienteValor(Long valorActual, File fichero) {
 
        PrintWriter pw = null;
 
        try {
 
            pw = new PrintWriter(new FileWriter(fichero));
            pw.write(formatearValor(valorActual+1));
 
        }catch (IOException ex) {
            Logger.getLogger(ManejadorSecuencia.class.getName()).log(Level.SEVERE, null, ex);
        }finally {
            if(null != pw) {
                pw.close();
            }
        }
 
    }
 
    private static Long getValorActual(File fichero) {
 
        Scanner scanner = null;
        Long valorActual = null;
        //Leer el numero de secuencia
 
        try {
 
            scanner = new Scanner(fichero);
            String line = scanner.nextLine();
 
            valorActual = Long.parseLong(line);
 
 
        } catch (FileNotFoundException ex) {
 
            Logger.getLogger(ManejadorSecuencia.class.getName()).log(Level.SEVERE, null, ex);
 
        }finally {
 
            if(null!=scanner) {
                scanner.close();
            }
        }
 
        return valorActual;
 
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de grek

Enumerar BOLETA sin base de datos

Publicado por grek (9 intervenciones) el 30/04/2015 19:10:31
Hola andrés Gracias por tu Respuesta y sobre todo por darte la molestia de poder ayudar.. en serio muchas Gracias // lo hice con un arraylist // ademas me dio tiempo de investigar algunas otras cosas.. y pz Gracias Sinceramente :) y bueno con ficheros aun no eh trabajado soy nuevo en esto.. pero el curso es POO y pz estamos con arreglos aun** posteriormente avanzaremos y haremos con almacenamiento en disco Otra vez sinceramente Gracias estudiare tu Codigo **

y por lo que veo eres un buen programador los codigos bien comentados.. y en serio gracias Andres. Exitos y sigue asi apoyandonos a nosotros q recien empezamos Saludos desde Perú :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar