Ecrire ds un fichier

Résolu
Signaler
Messages postés
406
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
29 juin 2009
-
Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
-
Bonjour,
je tente pour la première fois d'écrire dans un fichier... et je n'arrive pas à formater le texte comme je le voudrais :
CH3CCH 40502
85431.2240 0.011 0.01 iram
85442.5280 0.081 0.065 iram
85450.7300 0.192 0.038 iram

sachant que les données sont dans un TableDataset sauf la première que je prend ailleur.

Quelqu'un pourrait m'aider ou m'orienter sur des binnes docs?

merci d'avance
lafolle

4 réponses

Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
111
Salut,

pour écrire dans un fichier tu as plusieurs façons de faire voici deux exemples les plus simples possible pour ecrire dans un fichier :

import java.io.File;
import java.io.PrintStream;
import java.io.PrintWriter;

public class Test {

    public static void main(String[] args) {
        File file = new File("mon fichier.txt");
        try {
            PrintWriter pw = new PrintWriter(file);
            //écrit la chaîne avec un retour chariot à
            //la fin (cette classe se comporte comme System.(out/err))
            pw.println("CH3CCH 40502");
            pw.println("85431.2240 0.011 0.01 iram");
            pw.println("85442.5280 0.081 0.065 iram");
            pw.println("85450.7300 0.192 0.038 iram");
            pw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
       
       
        //sinon tu peux rerouter le System.out ou System.err dans un fichier
        try {
            System.setOut(new PrintStream(new File("mon System out.txt")));
            System.setErr(new PrintStream(new File("mon System err.txt")));
        } catch (Exception e) {
            e.printStackTrace();
        }
        //écriture dans stdout
        System.out.println("CH3CCH 40502");
        System.out.println("85431.2240 0.011 0.01 iram");
        System.out.println("85442.5280 0.081 0.065 iram");
        System.out.println("85450.7300 0.192 0.038 iram");
        //écriture dans stderr
        System.err.println("CH3CCH 40502");
        System.err.println("85431.2240 0.011 0.01 iram");
        System.err.println("85442.5280 0.081 0.065 iram");
        System.err.println("85450.7300 0.192 0.038 iram");
    }

}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
37
Salut:

Merci pour le setOut/setErr.
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
37
Salut:

Juste une question pour la méthode setIn de la classe java.lang.System comment faire?

une autre question un peu bête : je ne vois pas dans cette classe une fonction de lecture alors qu'elle est l'utilité svp?
Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
111
Salut,

pour le setIn tu peux lui filer le inputStream du 'pipe', 'socket' ou autre ou d'un fichier exemple pour le fichier :
tu prend le cas de deux applications sur le meme pc qui discute par le biais ud'un fichier (c'est pas propre mais bon pourquoi pas)

"une autre question un peu bête : je ne vois pas dans cette classe une fonction de lecture alors qu'elle est l'utilité svp?" tu parles de System.in? si oui par défaut System.in représente stdin soit le clavier exemple de lecture clavier en java 1.5

Scanner sc = new Scanner(System.in);//par defaut lit le clavier

l'utilitée majeur de setIn est de rerouter dirrectement System.in

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA