• Catania / Scienze MM. FF. NN. / Informatica
  • Database

afaf-votailprof
afaf-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
Se volessi realizzare un vero database in java, magari utilizzando un file esterno per archiviare i miei dati come un *.txt, come dovrei procedere?
brawnsr-votailprof
brawnsr-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
procedi così:



// Programma dimostrativo sull´uso dei file (scrittura)

import java.io.*;



public class FileOut

{

public static void main(String[] args) throws IOException

{

File mioFile=new File("file.txt";);//assegno il nome del file

FileWriter outFile=new FileWriter(mioFile);//apro il file in scrittura

final String CRLF=System.getProperty("line.separator";);//creo una costante è le assegno il separatore di linea

String str1="Questa è una prova"+CRLF;

String str2="www.mariocartia.too.it";

// scrivo la prima stringa su file (carattere per carattere)

for (int i=0; i<str1.length(); i++)

{

outFile.write(str1.charAt(i));

}



// idem per la seconda stringa

for (int i=0; i<str2.length(); i++)

{

outFile.write(str2.charAt(i));

}

// chiudo il file

outFile.close();

}

}



// Programma dimostrativo sull´uso dei file (lettura)

import java.io.*;



public class FileIn

{

public static void main(String[] args) throws IOException

{

File mioFile=new File("file.txt";);//assegno il nome del file

FileReader inFile=new FileReader(mioFile);//apro il file in lettura

final String CRLF=System.getProperty("line.separator";);//creo una costante è le assegno il separatore di linea

//Leggo tutto il contenuto del file (carattere per carattere)

int buf=inFile.read();

while (buf!=-1)

{

System.out.print ((char) buf);

buf=inFile.read();

}

//...stampo una stringa per comunicare all´utente il completamento della lettura

System.out.println(CRLF+"End of file";);

//chiudo il file

inFile.close();

}

}
afaf-votailprof
afaf-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
Grazie, e se volessi usare il mio programma direttamente cliccandoci sopra, come un eseguibile?
brawnsr-votailprof
brawnsr-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
Beh per eseguire il prog. hai bisogno di compilarlo in codice nativo (credo di aver intuito che ti interessa la piattaforma win32)... prova con il compilatore Excelsior Jet. Ciao
afaf-votailprof
afaf-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
Un ultima cosa, uso il seguente metodo per scrivere su file (la classe e´ 1 contenitore):

import javax.swing.*;

import java.io.*;



class prova {





public static void main(String arg[]) throws IOException {

String [] lista = "aaaaa","bbbbbbbb","ccccccc","dddddd","eeeee","ffffff","gggg","hhhhhh"};



File f;

FileOutputStream fs;

PrintStream fileout;



f = new File("nomi.txt";);

fs = new FileOutputStream(f);

fileout = new PrintStream(fs);

//stampa gli elementi dell´array su file

for(int i=0;i!=lista.length;i++)

fileout.println(lista);



fileout.close();

System.exit(0);



}

}

Io vorrei che ogni volta che viene chiamato il metodo mi aggiungesse stringhe al file, invece vengono sovrascritte, perche´? Chi mi puo´ aiutare?
brawnsr-votailprof
brawnsr-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
come costruttore usa questo:

FileWriter(String fileName, boolean append)

usando true come append... così continui a scrivere invece di sovrascrivere ogni volta... Ciao
Come guadagno Punti nel Forum? Leggi la guida completa
In evidenza
Classifica Mensile
Vincitori di novembre
Vincitori di novembre

Come partecipare? | Classifica Community

Community Live

Partecipa alla Community e scala la classifica

Vai al Forum | Invia appunti | Vai alla classifica

Gloongo

Gloongo Geek 3656 Punti

VIP
Registrati via email