IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Code Java & Génération Fichiers sur système Unix


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Code Java & Génération Fichiers sur système Unix
    Bonjour à tous,

    juste pour avoir des conseils, quels sont les meilleus API pour générer et ecrire dans des fichiers sur un systeme UNIX depuis un code JAVA ...



    Merci

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Tout ce qui tourne autour de java.io.File etc...
    Enfin, c'est ce que j'utilise

    Mais quel rapport avec unix ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Flux binaire Ou en texte ...
    dans certains liens j'ai trouvé ça :

    La création de fichier en JAVA est assez vaste, il existe les flux entrée/sorties binaires (comme dans cet exemple) mais aussi les flux entrée/sortie de texte mais aussi les flux d'objets (Sérialisation). Je pense qu'il est très utile dans ces cas là de se procurer un livre sur le langage qui répertorie les diverses fonctions et pourra vous guider de manière plus exhaustive.


    Enfin dans mon cas je suis un peu perdu car je veux créer des fichiers et ecrire dedans avec un flux assez volumienux...DOnc c'est quoi la meilleur façon en terme de perf...?

    Merci

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Tu peux utiliser les BufferedReader/BufferedWriter.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Exemple et nom de fichier
    Je viens de tester l'exemple suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public static void writeToFile(String filename) {
     
    	         BufferedWriter bufferedWriter = null;
     
    	         try {
     
    	             //Construct the BufferedWriter object
    	             bufferedWriter = new BufferedWriter(new FileWriter(filename));
     
    	             //TODO Feten 16/06 ==> values for Tests ==> delete later & write info of contracts of retblissement
    	             //check how
     
    	             //Start writing to the output stream
    	             bufferedWriter.write("Writing line one to file");
    	             bufferedWriter.newLine();
    	             bufferedWriter.write("Writing line two to file");
     
     
    	         } catch (FileNotFoundException ex) {
    	             ex.printStackTrace();
    	         } catch (IOException ex) {
    	             ex.printStackTrace();
    	         } finally {
    	             //Close the BufferedWriter
    	             try {
    	                 if (bufferedWriter != null) {
    	                     bufferedWriter.flush();
    	                     bufferedWriter.close();
    	                 }
    	             } catch (IOException ex) {
    	                 ex.printStackTrace();
    	             }
    	         }
    	     }
    et dans mon appel je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FilesHandler.writeToFile("$WORK/DunningWork/TO_DO.txt");
    j'ai l'exception suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     INFO [main] (Retablissement_Dunning_Ph3.java:81) - BEFORE ===> Test Write to file : $WORK/DunningWork/TO_DO.txt
    java.io.FileNotFoundException: $WORK/FetenDunningWork/TO_DO.txt (No such file or directory)
            at java.io.FileOutputStream.open(Native Method)
            at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
            at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
            at java.io.FileWriter.<init>(FileWriter.java:46)
    le souci vient il du fait d'utiliser le nom d'une variable ou ...???

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Nom de variable dans le nom de fichier
    effectivement le souci est du au fait de passer
    par le nom de variable dans le nom du fichier...

    que faut il faire ??

    Merci

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Que représente $WORK une variable d'environnement je suppose ?
    Tu peux la récupérer par System.getEnv(nom) ou pas ?

  8. #8
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    La variable $WORK est-elle définie ?
    Je pense qu'il s'agit d'une variable définie sur Unix.
    Il faudrait la redéfinir dans Java (mettre le chemin absolu ou relatif par rapport à votre programme dans une chaine de caractères)

    Exemple :
    Si $WORK = /usr/temp

    Alors il faudrait appeler ainsi votre FilesHandler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FilesHandler.writeToFile("/usr/temp/DunningWork/TO_DO.txt");

Discussions similaires

  1. Génération code Java depuis des fichiers IDL
    Par Lolitaaa dans le forum CORBA
    Réponses: 1
    Dernier message: 17/11/2009, 10h52
  2. Rediriger le résultat d'un code java dans un fichier texte
    Par ysahel dans le forum Général Java
    Réponses: 9
    Dernier message: 27/03/2009, 14h57
  3. APPLET JAVA - Ecriture de fichiers sur le serveur ?
    Par cstan dans le forum Applets
    Réponses: 10
    Dernier message: 15/09/2006, 13h52
  4. [SOCKET] Client UDP sur système Unix
    Par be_tnt dans le forum Développement
    Réponses: 1
    Dernier message: 14/04/2006, 21h31
  5. UDP client en C++ sur système UNIX
    Par be_tnt dans le forum Linux
    Réponses: 1
    Dernier message: 14/04/2006, 08h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo