Dudas de Programacion » Java » Java File

Crear ficheros en java

(4 posts)
  1. Buenas a todos/as, me gustaría saber como poder crear ficheros de tamaños específicos, es decir, imaginaros que tengo un jTextField donde le digo que me genere un fichero con el contenido de... números aleatorios pero de un tamaño específico (10kb, 100mb, etc)

    Es urgente, espero que me podáis ayudar.

    Un cordial saludo

    Posted 1 year ago #


  2. fiurer87
    Member

    Hola, te sugiero hacer lo siguiente.
    Sea TAMDES el tamano deseado, y ALEAT un numero aleatorio.

    1. Crear un archivo ARCH
    2. Si tamano(ARCH) < TAMDES entonces:
    2.1. Agregar un nuevo ALEAT al ARCH
    2.2. Volver al paso 2.
    3. FIN.

    Espero te ayude, es lo primero que se me ocurrio.
    Suerte!!

    Posted 1 year ago #
  3. fiurer87
    Member

    Ahora te dejo el código en JAVA.
    =================================

     
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.util.Random;
    import java.util.Scanner;
    /**
     * @author Luis Roberto Perez POTOSI - BOLIVIA
     */
    public class Main {
        public static void main(String[] args){
            Scanner lector = new Scanner(System.in);
            System.out.print("Nombre de Archivo: ");
            String nombreArchivo = lector.nextLine();
     
            File archivo = new File(nombreArchivo);
            try{
                archivo.createNewFile();
            }catch(Exception e){
                System.out.println("Error al crear el archivo");
                System.exit(0);
            }
     
            System.out.print("Tamano deseado en bytes: ");
            long tamanoDeseado = lector.nextLong();
     
            Random aleatorio = new Random();
     
            try{
                BufferedWriter salida = new BufferedWriter(new FileWriter(nombreArchivo,true));
                for(long i=0; i<tamanoDeseado; i++)
                    salida.write(""+aleatorio.nextInt(10));
                salida.close();
            }catch (Exception e){
                System.out.println("Ocurrio un error al agregar");
                System.exit(0);
            }
            System.out.println("Se creo "+nombreArchivo+" Tamano en Bytes: "+archivo.length());
        }
    }
     

    Ten en cuenta que debes pasar en tamaño en bytes, para hacer 1KB deberias pasar 1000, para 1MB seria 1000000, etc.

    Posted 1 year ago #
  4. fiurer87
    Member

    Notas:
    - Crea el archivo en el mismo lugar donde corre tu Clase.
    - No controla si existe otro archivo con el mismo nombre que pusiste.
    - Cuando te pida el tamaño en bytes debes pasarle solo enteros mayores que 0.
    - No controla excepciones de entrada (al leer el nombre y tamaño desde teclado).
    - Esta hecho para ser un ejemplo, puede tener mas fallas.
    - Cada que agrego un entero es como agregar 1 Byte.

    Saludos y suerte con tu trabajo.
    Atte: Roberto

    Posted 1 year ago #



Reply

You must log in to post.

934 posts in 393 topics over 36 months by 348 of 784 members. Latest: kardelen133, hugoivand, danymota19

Acerca de...

Dudas de Programación es una Web, dentro del proyecto aulambra.com que nace con la idea de propocionar un foro de consultas sobre diferentes temas de programación. Orientado a ayudar a los internautas hispano-hablantes en Internet.

Ir al Blog de Linea de Código

Otras Webs