Est-ce que y aurait des Java-man qui connaitraient des bons sites qui auraient des bons tutoriaux sur la manipulation de fichiers ?
Edit by Nico: j'ai déplace ton post pour plus de klarte
[Java] Manipulation de fichiers
-
- Habitué
- LAN : 13
- Réactions :
- Messages : 273
- Inscription : octobre 10, 2002, 2:30 pm
[Java] Manipulation de fichiers
Au royaume des aveugles les borgnes sont rois...
-
- l'élu
- LAN : 41
- Réactions :
- Messages : 4116
- Inscription : septembre 27, 2002, 2:59 pm
-
- Habitué
- LAN : 13
- Réactions :
- Messages : 273
- Inscription : octobre 10, 2002, 2:30 pm
Les 2 en fait. Je suis déjà allé sur ton site et j'ai pris pas mal de doc, mais ça m'aurait plus aidé un tuto spécial sur la manip de fichier.
J'crois (d'après ce que j'ai pu voir) qu'il existe plusieurs classes qui proposent des methodes différentes, donc c'était pour choisir la plus "saine" et plus utilisée.
J'crois (d'après ce que j'ai pu voir) qu'il existe plusieurs classes qui proposent des methodes différentes, donc c'était pour choisir la plus "saine" et plus utilisée.
Au royaume des aveugles les borgnes sont rois...
-
- Webmaster / Président
- LAN : 126
- Réactions :
- Messages : 25460
- Inscription : septembre 27, 2002, 9:41 pm
java for ever
J'ai de bon truc pour les fichiers texte... Le problème c'est que je n'ai pas ça de tête, et surtout, que ce n'est pas un cours, mais un bout d'un de mes progs... Mais je sais que c'était un truc avec des bufferreader et que c'était hyper symple à utiliser...
-
- l'élu
- LAN : 41
- Réactions :
- Messages : 4116
- Inscription : septembre 27, 2002, 2:59 pm
voila un peu de code extrait de chez moi bon c'est assez basique mais ca t'aidera peut etre...
Code : Tout sélectionner
//lecture
User temp=null;
try
{
ObjectInputStream InputFile;
InputFile=new ObjectInputStream(new FileInputStream(nameFile));
temp=((User) InputFile.readObject());
InputFile.close();
}
catch(Exception ex)
{
System.out.println("An error has occured while working on "+nameFile);
}
return temp;
///////////////////////////////////////////////////////////////////////////
//ecriture
String name=this.login;
try
{
ObjectOutputStream OutputFile;
OutputFile=new ObjectOutputStream(new FileOutputStream(name+".user"));
OutputFile.writeObject(this);
OutputFile.close();
System.out.println("User saved");
}
catch(Exception ex)
{
System.out.println("An error has occured while working on "+name+".user");
}
-
- Webmaster / Président
- LAN : 126
- Réactions :
- Messages : 25460
- Inscription : septembre 27, 2002, 9:41 pm
du fichier texte
tiens un peu de lecture de fichier texte:
La classeLe fichier de configurationTu remarques que les commentaires sont ignorés par Tokeniser, j'ai aussi des exemple de sérialisation d'objet dans des fichiers binaires...
L'ensemble du projet (Java+bdd) est à l'adresse suivante: http://www-ufrima.imag.fr/TEST/porjetJava.zip Pour la sérialisation, c'est un autre projet java...
La classe
Code : Tout sélectionner
package bdd;
import java.util.*;
import java.io.*;
/**
* Classe ConfReader
* <br>Création : juin 2002
* <br>Permet la lecture du fichier de configuration de la Bdd
* @author W. Aurélien
* @version 1.0
*/
public class ConfReader{
private String fichierConfig = "configuration.txt";
private String tabClef[] = {"server","user","db","pass"};
private String value[] = {"server","user","db","pass"};
private int chercher(String s){
int i;
for (i=0;i<tabClef.length;i++){
if (tabClef[i].equals(s)) return i;
}
System.out.println("Pb");
return -1;
}
/** Accesseur
@return le login de l'utilisateur*/
public String getUser(){
return value[chercher("user")];
}
/** Accesseur
@return le serveur*/
public String getServer(){
return value[chercher("server")];
}
/** Accesseur
@return le nom de la bdd*/
public String getDb(){
return value[chercher("db")];
}
/** Accesseur
@return le mot de pass de l'utilisateur*/
public String getPass(){
String pass = value[chercher("pass")];
if ( pass.equals("no") ) {
return null;
} else {
return pass;
}
}
/** Lis le fichier de configuration*/
public ConfReader(){
try{
FileReader myFileReader = new FileReader(fichierConfig);
StreamTokenizer myStream = new StreamTokenizer(myFileReader);
//System.out.println("Chargement du fichier de configuration "+fichierConfig);
myStream.nextToken();
while (myStream.ttype != StreamTokenizer.TT_EOF) {
String clef, valeur;
myStream.pushBack();
myStream.nextToken();
clef = myStream.sval;
myStream.nextToken();
if (myStream.ttype == StreamTokenizer.TT_EOF){
System.out.println("Synstax error line " + myStream.lineno() + ":");
System.out.println("La clef "+clef+" n'a pas de valeur");
System.exit(0);
}
myStream.pushBack();
myStream.nextToken();
valeur = myStream.sval;
int i;
if ((i = chercher(clef)) == -1){
System.out.println("Syntax error line " + myStream.lineno() + " in "+fichierConfig+":");
System.out.println(clef + " N'est pas une clef de configuration valide");
System.out.println("Seul 'server' 'user' 'db' 'pass' sont des clefs autorisés");
System.exit(0);
} else {
value[i] = valeur;
}
myStream.nextToken();
}
myFileReader.close();
} catch (IOException e) {
System.err.println(e);
System.exit(0);
}
//System.out.println("Configuration Chargée");
}
/** Méthode pour tester la classe*/
public static void main(String [] args) {
ConfReader maConf = new ConfReader();
System.out.println("Configuration Chargée:");
System.out.println("Serveur: "+maConf.getServer());
System.out.println("Bdd: "+maConf.getDb());
System.out.println("User: "+maConf.getUser());
System.out.println("Pass: "+maConf.getPass());
}
}
Code : Tout sélectionner
//Fichier de configuration pour le projet Java
"server" "localhost" //Serveur Mysql
"user" "root" //Utilisateur de la base
"pass" "no" //Mot de pass pour l'utilisateur 'no' s'il n'y en a pas
"db" "projet" //Base de donnée
L'ensemble du projet (Java+bdd) est à l'adresse suivante: http://www-ufrima.imag.fr/TEST/porjetJava.zip Pour la sérialisation, c'est un autre projet java...