Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    salvataggio vector su disco

    Ciao a tutti.
    Sto realizzando un programmino e mi chiedo se si possa (penso di sì, ma nn l'ho mai fatto)
    salvare un vector su disco. Mi spiego: fino ad ora ho creato alcuni file.txt in cui scrivo i dati che mi servono. Ora però,devo salvare una serie di numeri su disco per ritrovarli al successivo utilizzo
    del programma quindi vorrei creare un vector di 100 elementi, salvarlo su disco (come fosse un file normale)...boh...qualcuno ha suggerimenti? grazie

    Alessandro

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    72
    Attarverso la serializzazione puoi salvare e recuperare interi oggetti in formato binario , compreso vettori:

    codice:
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.ObjectInput;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutput;
    import java.io.ObjectOutputStream;
    import java.util.Vector;
    
    public class TestVector {
    	
    	public static void main(String[] args) throws Exception{
    		
    		Vector vettore=new Vector();
    	
    		//popolo il vettore
    		for(int t=0;t<10;t++){
    			vettore.add(new Integer(t));
    		}
    
    		//lo scrivo sul disco
    		scrivi(vettore);
    
                             // lo recupero per leggerlo
    		Vector vettoreAus=leggi();
    
    		//stampo il contenuto per vedere se è correttamente popolato
    		for(int t=0;t<vettoreAus.size();t++){
    			System.out.println(vettoreAus.get(t));
    		}
    	}
    	
    	public static void scrivi(Vector vettore)throws Exception{
    		ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(new File("c:/vettore.bin")));
    		oos.writeObject(vettore);
    	}
    	public static Vector leggi()throws Exception{
    		ObjectInputStream ois=new ObjectInputStream(new FileInputStream(new File("c:/vettore.bin")));
    		Vector v=(Vector)ois.readObject();
    		return v;
    	}
    }
    Ciao.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Un solo accorgimento: anche gli oggetti contenuti nel vettore devono essere serializzabili.
    Vector implementa già tale interfaccia.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.