[Java] un objet File a partir d'un Reader?

un objet File a partir d'un Reader? [Java] - Java - Programmation

Marsh Posté le 21-04-2004 à 10:47:07    

Bonjour a tous,
est-il possible d'obtenir un objet File a partir un objet Reader?
Du genre : File file=reader.MethodeMiracle(); ou quelque chose dans ce gout la?
j'ai beau chercher du coté de Reader, BufferedReader, File, etc... je ne trouve pas...
 
Je souhaiterais éviter d'avoir a recopier tout le fichier en mémoire pour l'écrire dans le fichier file. Mon but étant juste d'obtenir un objet File.
 
Merci!


Message édité par Giansolo le 21-04-2004 à 10:51:19

---------------
grmmblblblbl...
Reply

Marsh Posté le 21-04-2004 à 10:47:07   

Reply

Marsh Posté le 21-04-2004 à 11:01:49    

:heink:
Bin rien ne t'oblige à avoir tout le contenu en mémoire pour l'écrire, hein :D C'est d'ailleur l'intérêt des streams et des readers/writers : lire et écrire de façon bufferisée des données dans des fichiers [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 21-04-2004 à 11:07:02    

yup, je suis d'accord.
Mais mon but n'est pas d'écrire les données dans un fichier, mais d'obtenir un objet File correspondant a un objet Reader, ou tout du moins de savior si c'est possible... ce dont je suis loin d'être sur.
J'ai vu aucune methode qui me permettrais d'obtenir un objet File a partir d'un Reader. Mais bon, on sait jamais, y a toujours des mecs malins qui trainent par ici, ils ont peut-etre une solution... en utilisant une classe subtile que j'nai point vue!  :jap:
 
J'ai bien vu qu'ont pouvait transformer un InputStream en Reader via InputStreamReader, mais l'inverse est-il possible?
je demande ca, car initialiser un objet DocumentBuilder(...) a partir d'un Reader, c'est pas évident...


Message édité par Giansolo le 21-04-2004 à 11:10:32
Reply

Marsh Posté le 21-04-2004 à 11:11:25    

Ba je pige pas ce que tu veux, alors :D
Soit t'as ouvert un fichier en lecture via un FileReader, auquel cas tu disposes de l'objet File (ou tu peux le créer toi-même) puisque tu l'as passé en constructeur. Soit t'as juste un bête Reader et alors là bin y a aucune logique qui te permette de relier ce Reader à un File, ça veut rien dire [:spamafote]
Y a aussi le cas "pas de pot" où une méthode externe à la tienne te refile cash un FileReader sans le File ; là, t'as perdu passk'effectivement y a pas moyen de récupérer le File associé :D
 
EDIT : bon j'viens de voir ton dernier edit et j'comprends que dalle :D Détaille ton problème passke sinon on va pas avancer :o


Message édité par Taiche le 21-04-2004 à 11:12:13

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 21-04-2004 à 11:39:47    

en gros c ca, je construit une méthode qui suit une interface qui prends en parametre un Reader tout bete. dans cette methode je dois initialiser un DocumentBuilder(...). Seulement, DocumentBuilder ne s'initialise qu'avec File ou InputStream (si mes souvenirs de 5 mins sont bons).
Alors je souhaiterais a partir du Reader obtenir un objet File pour pouvoir l'initialiser. Mais je crois que j'ai perdu (comme tu dis! :) )


Message édité par Giansolo le 21-04-2004 à 11:40:12
Reply

Marsh Posté le 21-04-2004 à 11:50:51    

Ba DocumentBuilder prend aussi une InputSource qui elle peut se construire avec un Reader. Donc t'as moyen de retomber sur tes pieds, t'inquiète :)


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 21-04-2004 à 11:58:16    

ouf! merci du coup de main, ca me rassure... je regarde InputSource!
merci encore!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed