Database
Se volessi realizzare un vero database in java, magari utilizzando un file esterno per archiviare i miei dati come un *.txt, come dovrei procedere?
Risposte
come costruttore usa questo:
FileWriter(String fileName, boolean append)
usando true come append... così continui a scrivere invece di sovrascrivere ogni volta... Ciao
FileWriter(String fileName, boolean append)
usando true come append... così continui a scrivere invece di sovrascrivere ogni volta... Ciao
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?
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?
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
Grazie, e se volessi usare il mio programma direttamente cliccandoci sopra, come un eseguibile?
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
{
outFile.write(str1.charAt(i));
}
// idem per la seconda stringa
for (int i=0; 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();
}
}
// 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
{
outFile.write(str1.charAt(i));
}
// idem per la seconda stringa
for (int i=0; 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();
}
}