115 votes

Créer un objet File en mémoire à partir d’une chaîne en Java

J’ai une fonction qui accepte File comme argument. Je ne veux pas créer/écrire un nouveau fichier (je n’ai pas d’accès en écriture au système de fichiers) afin de passer mes données de chaîne à la fonction. Je dois ajouter que les données String n’existent pas dans un fichier (je ne peux donc pas lire mes données à partir d’un fichier).

Puis-je utiliser des flux et les « caster » en objets File ?

80voto

Chris Dennett Points 12396

Habituellement, lorsqu’une méthode accepte un fichier, il existe une autre méthode à proximité qui accepte un flux. Si ce n’est pas le cas, l’API est mal codée. Sinon, vous pouvez utiliser des fichiers temporaires, où l’autorisation est généralement accordée dans de nombreux cas. S’il s’agit d’une applet, vous pouvez demander l’autorisation d’écriture.

Un exemple :

51voto

meriton Points 30447

Non; les instances de classe représentent un chemin dans un système de fichiers. Par conséquent, vous pouvez utiliser cette fonction uniquement avec un fichier. Mais peut-être y a-t-il une surcharge qui prend un à la place?

12voto

Kevin K Points 4279

Un objet File en Java est une représentation d’un chemin d’accès à un répertoire ou à un fichier, et non du fichier lui-même. Vous n’avez pas besoin d’avoir un accès en écriture au système de fichiers pour créer un `` objet, vous n’en avez besoin que si vous avez l’intention d’écrire réellement dans le fichier (en utilisant un FileOutputStream par exemple)

8voto

wberry Points 6068

La classe représente l'« idée » d’un fichier, pas un handle réel à utiliser pour les E/S. C’est pourquoi la classe a une méthode, pour vous dire si le fichier existe ou non. (Comment pouvez-vous avoir un objet qui n’existe pas?)

En revanche, la construction d’un `` vous donne un flux réel à partir de lequel lire les octets.

0voto

acxnet Points 98
<pre><code></code><p>Utilisez un lecteur de fichier pour charger le fichier, puis écrire son contenu dans une mémoire tampon de chaîne.</p><p><a href="http://www.java2s.com/Tutorial/Java/0180__File/LoadatextfilecontentsasaString.htm" rel="nofollow">exemple</a></p><p>Le lien ci-dessus vous montre un exemple de la façon d’y parvenir. Comme d’autres post à cette réponse disent pour charger un fichier en mémoire, vous n’avez pas besoin d’un accès en écriture tant que vous ne prévoyez pas d’apporter des modifications au fichier réel.</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X