777 votes

Comment enregistrer une chaîne dans un fichier texte en utilisant Java?

En Java, j'ai du texte d'un champ de texte dans une variable String appelée "texte".

Comment puis-je sauvegarder le contenu de la variable "texte" dans un fichier?

801voto

Jeremy Smyth Points 11001

Si vous êtes simplement sortie texte, plutôt que les données binaires, ce qui suit fonctionnera :

Ensuite, écrivez votre chaîne, comme vous le feriez dans n’importe quel flux de sortie :

Vous aurez besoin de gestion des exceptions, comme toujours. N’oubliez pas d’appeler `` lorsque vous avez fini d’écriture.

Edit : encore simplifiée par les commentaires de Jonik.

269voto

Jon Points 23749

Apache Commons IO contient des méthodes pour le faire, en particulier FileUtils contient la méthode suivante:

static void writeStringToFile(File file, String data) 

qui permet d'écrire du texte dans un fichier en un seul appel de méthode:

FileUtils.writeStringToFile(new File("test.txt"), "Hello File");

Vous pourriez aussi envisager de spécifier l'encodage du fichier.

114voto

Jorn Points 5202

Jetez un oeil au Fichier Java API

un exemple rapide:

try (PrintStream out = new PrintStream(new FileOutputStream("filename.txt"))) {
    out.print(text);
}

83voto

Artem Barger Points 18789

Juste fait quelque chose de semblable dans mon projet. Utilisation FileWriter permettra de simplifier le cadre de votre travail. Et ici vous pouvez trouver bon tutoriel.

BufferedWriter writer = null;
try
{
    writer = new BufferedWriter( new FileWriter( yourfilename));
    writer.write( yourstring);

}
catch ( IOException e)
{
}
finally
{
    try
    {
        if ( writer != null)
        writer.close( );
    }
    catch ( IOException e)
    {
    }
}

70voto

skaffman Points 197885

Utiliser FileUtils.writeStringToFile() de Apache Commons IO. Pas besoin de réinventer cette roue.

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