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

avec Java Discussion :

Soucis avec File


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut Soucis avec File
    Bonjour,

    Dans un programme j'ai besoin de récupérer des fichiers html stockés en base de données. Je récupère ces fichiers dans des objets File.

    Le soucis c'est que lorsque que je récupère ces fichiers, je ne sais pas encore où les sauvegarder (cela arrive plus tard dans l'application).

    Je voulais donc savoir si c'était possible de créer un fichier juste en mémoire RAM (ou fichier temporaire) puis plus tard dans l'application quand l'utilisateur choisit le chemin, je voudrai y placer ces fichiers. Le seul soucis c'est que si je crée un File, il crée automatiquement le fichier physique.

    L'idéal serait de garder des objets File mais sans que le fichier ne soit crée physiquement. Est ce possible ?

    Bien sûr je suis ouvert à d'autres propositions pour réaliser cela.

    Merci d'avance pour vos réponses...

    Contrec.

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Non. un File, ça représente grosso-modo un path sur le file system - un File peut ne pas exister du tout sur le disque. Si je fais File f = new File("C:\\x.txt"), mon objet f n'est pas null pourtant C:\x.txt peut ne pas exister.

    Pour des données binaires en RAM, il y a les stream: ByteArrayOutputStream et ByteArrayInputStream notament...


  3. #3
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut
    Pourtant quand je crée un File("Toto") il me créer des File physiques dans mon répertoire d'Eclipse...

    Après la solution de ByteArray est pas mal, mais je préfère dans la mesure du possible rester avec des File

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par Contrec Voir le message
    Pourtant quand je crée un File("Toto") il me créer des File physiques dans mon répertoire d'Eclipse...
    non, à moins d'invoquer createNewFile, ou bien de l'utiliser dans un FileOutputStream

    Citation Envoyé par Contrec Voir le message
    Après la solution de ByteArray est pas mal, mais je préfère dans la mesure du possible rester avec des File
    on ne peut pas, un File (java.io.File) représente un fichier sur le file system, et pas un ensemble arbitraire de byte situés dans la ram ou sur le réseau ou n'importe ou ailleurs.

    http://java.sun.com/j2se/1.4.2/docs/...a/io/File.html
    An abstract representation of file and directory pathnames.

    User interfaces and operating systems use system-dependent pathname strings to name files and directories. This class presents an abstract, system-independent view of hierarchical pathnames. An abstract pathname has two components:[...]

  5. #5
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut
    Voici mon code qui récupère les fichiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try {
        byte[] fileBytes = myResultSet.getBytes(myColumn);
        File myFile = new File("File_" + String.valueOf(System.currentTimeMillis()));
        OutputStream out = new FileOutputStream(myFile);
        System.out.println(myFile.getAbsolutePath());
        out.write(fileBytes);
        correspColValues.put(myColumn, myFile);
    } catch (FileNotFoundException e) {
        this.addDbError(e.getMessage());
    } catch (IOException e) {
        this.addDbError(e.getMessage());
    }
    Et je reconfirme que les fichiers sont crées physiquement. Par contre en effet tant que je n'écris pas dedans, il n'est pas véritablement crée... Tu confirmes que j'ai bien compris ?

    Et merci pour les infos

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par Contrec Voir le message
    Tu confirmes que j'ai bien compris ?
    yep c'est ça

    pour rester en ram il faudrait utiliser un ByteArrayOutputStream au lieu du FileOutputStream, et passer le bytearray ou un new ByteArrayInputStream(baos.toByteArray()) au lieu du File.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Souci avec asp:FileUpload ou inout:file et IIS7
    Par John.BE dans le forum ASP.NET MVC
    Réponses: 1
    Dernier message: 16/03/2014, 11h44
  2. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  3. souci avec un algorithme
    Par slider16 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/03/2004, 17h17
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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