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

    Importare in un db un file di testo

    Salve e complimenti per il forum..
    Sto cercando da diverso tempo di finire un codice.. che mi permetta di importare un file txt in un db... il problema è che non so da dove partire...

    il codice che crea il db è questo..

    codice:
    public static int exportTracks(String path, Context context) throws IOException
        {
            ArrayList<Track> tracks = getTracksList(context);
            TrackPointsDB db = new TrackPointsDB(context);
            db.open();
    
    
            File file = new File(path);
            file.createNewFile();
            ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
    
    
            int count = 0;
    
    
            for (Track track : tracks)
            {
                ArrayList<TrackPoint> points = db.getTrackPoints(track.getID());
                for (TrackPoint trackPoint : points)
                    track.add(trackPoint);
    
    
                out.writeObject(track);
                out.flush();
    
    
                track.clear();
                points.clear();
    
    
                count++;
            }
    
    
            out.close();
            db.close();
    
    
            return count;
        }

    Dovrei importare il file di testo e dargli la stessa struttura del db... in modo che possa interfacciarsi... da dove inizio? Mi aiutate?
    Ultima modifica di LeleFT; 22-04-2014 a 10:13 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da DanielA11 Visualizza il messaggio
    Sto cercando da diverso tempo di finire un codice.. che mi permetta di importare un file txt in un db... il problema è che non so da dove partire...

    Dovrei importare il file di testo e dargli la stessa struttura del db... in modo che possa interfacciarsi... da dove inizio? Mi aiutate?
    Dal codice postato risulta che il file scritto contiene oggetti "serializzati" (con ObjectOutputStream) di tipo Track (ciascuno contenente N oggetti TrackPoint).

    Vuoi rileggere quel file e riottenere gli oggetti Track? Basta che "deserializzi" gli oggetti usando le classi speculari di quelle usate in quel metodo, ovvero FileInputStream/ObjectInputStream.
    È questo che intendi e vuoi fare ... o ho capito male io?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Il prgramma legge nel database delle coordinate ... che vengono messe nel db... io dovrei importare un txt di questo tipo ..xo metterlo nel db con la stessa struttura..

    45.504440, 14.892080,1, 2299.4, 0.0000000,
    44.503960, 13.891180,0, 2129.1, 0.0000000,

    per il trackpoint cè un'altra parte te la posto..

    codice:
    public final class TrackPointsDB extends DBAdapter
    {
        public static final int I_ID = 0;
        public static final int I_TRACK_ID = 1;
        public static final int I_LONGITUDE = 2;
        public static final int I_LATITUDE = 3;
        public static final int I_ALTITUDE = 4;
        public static final int I_ACCURACY = 5;
        public static final int I_TIME = 6;
    
    
        public static final String TABLE_NAME = "TrackPoints";
    
    
        public static final String K_ID = "_id";
        public static final String K_TRACK_ID = "trackID";
        public static final String K_LONGITUDE = "longitude";
        public static final String K_LATITUDE = "latitude";
        public static final String K_ALTITUDE = "altitude";
        public static final String K_ACCURACY = "accuracy";
        public static final String K_TIME = "time";
    
    
        @Override
        protected void makeSchema()
        {
            DBColumn[] cols = new DBColumn[7];
    
    
            cols[I_ID] = new DBColumn(K_ID, DBColumn.DataType.INTEGER, new DBFieldFlags(false, true, true));
            cols[I_TRACK_ID] = new DBColumn(K_TRACK_ID, DBColumn.DataType.INTEGER, null);
            cols[I_LONGITUDE] = new DBColumn(K_LONGITUDE, DBColumn.DataType.TEXT, null);
            cols[I_LATITUDE] = new DBColumn(K_LATITUDE, DBColumn.DataType.TEXT, null);
            cols[I_ALTITUDE] = new DBColumn(K_ALTITUDE, DBColumn.DataType.TEXT, null);
            cols[I_ACCURACY] = new DBColumn(K_ACCURACY, DBColumn.DataType.TEXT, null);
            cols[I_TIME] = new DBColumn(K_TIME, DBColumn.DataType.TEXT, null);
    
    
            schema = new DBSchema(TABLE_NAME, cols);
        }
    Ultima modifica di LeleFT; 22-04-2014 a 10:13 Motivo: Aggiunti i tag CODE

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    @DanielA11: quando posti del codice, usa gli appositi tag CODE, altrimenti il tutto risulta illeggibile, perchè perde formattazione ed indentazione.

    [CODE]
    codice
    [/CODE]


    oppure, entra in "Modalità avanzata" (pulsante giallo in basso a destra) e usa il pulsantino "#", che fa la stessa cosa.


    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

  5. #5
    up ^ nessuno che mi aiuta???

  6. #6
    Buon giorno, credo che andbin ti abbia già risposto.
    Se si trattasse d'importare un file di testo formattato seguendo precise regole da te imposte, devi solamente creare un metodo che riesca a leggere ed interpretare il file, cosi da creare un oggetto che lo rappresenti; a quel punto rimane l'inserimento nel DB che è la parte più semplice.

    Visto che hai già il metodo di export ti basta usare la stessa logica ma effettuare le operazioni inverse cioè dove scrivevi sul file adesso leggi, dove leggevi dall'oggetto adesso scrivi.. e cosi via...

    Spero di essere stato chiaro Buona giornata a tutti e buon lavoro!!

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.