Maison > Java > javaDidacticiel > le corps du texte

Partagez plusieurs méthodes d'écriture de fichiers en Java

高洛峰
Libérer: 2017-01-24 14:09:42
original
1332 Les gens l'ont consulté

1, FileWritter écrit des fichiers dans des fichiers

FileWritter, le flux de caractères écrit des caractères dans des fichiers. Par défaut, il remplacera tout le contenu existant par du nouveau contenu. Cependant, lors de la spécification d'une valeur vraie (booléenne) comme deuxième paramètre du constructeur FileWritter, il conservera le contenu existant et ajoutera le nouveau contenu à la fin du fichier.

1. Remplacez tout le contenu existant par du nouveau contenu.

new FileWriter(file);2. Conservez le contenu existant et ajoutez le nouveau contenu à la fin du fichier.

new FileWriter(file,true);
Copier après la connexion

Exemple de fichier d'ajout
Un fichier texte nommé "javaio-appendfile.txt" et contenant le contenu suivant.

ABC Hello ajoute un nouveau contenu new FileWriter(file,true)

package com.yiibai.file;

import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;

public class AppendToFileExample 
{
    public static void main( String[] args )
    { 
     try{
      String data = " This content will append to the end of the file";

      File file =new File("javaio-appendfile.txt");

      //if file doesnt exists, then create it
      if(!file.exists()){
       file.createNewFile();
      }

      //true = append file
      FileWriter fileWritter = new FileWriter(file.getName(),true);
             BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
             bufferWritter.write(data);
             bufferWritter.close();

         System.out.println("Done");

     }catch(IOException e){
      e.printStackTrace();
     }
    }
}
Copier après la connexion

Résultat
Maintenant, le contenu du fichier texte "javaio-appendfile.txt" est mis à jour comme suit :

ABC Bonjour Ce contenu sera ajouté à la fin du fichier


Deuxièmement, BufferedWriter écrit le fichier

Les caractères tamponnés (BufferedWriter) sont une classe de flux de caractères pour traiter les données de caractères. Contrairement aux flux d'octets (données converties en octets), vous pouvez écrire des données de chaîne, de tableau ou de caractères directement dans un fichier.

package com.yiibai.iofile;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
 public static void main(String[] args) {
  try {

   String content = "This is the content to write into file";

   File file = new File("/users/mkyong/filename.txt");

   // if file doesnt exists, then create it
   if (!file.exists()) {
    file.createNewFile();
   }

   FileWriter fw = new FileWriter(file.getAbsoluteFile());
   BufferedWriter bw = new BufferedWriter(fw);
   bw.write(content);
   bw.close();

   System.out.println("Done");

  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}
Copier après la connexion

Troisièmement, FileOutputStream écrit des fichiers


Le flux de sortie de fichier est une classe de flux d'octets utilisée pour traiter les données binaires brutes. Afin d'écrire des données dans un fichier, les données doivent être converties en octets et enregistrées dans le fichier. Voir l’exemple complet ci-dessous.

package com.yiibai.io;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteFileExample {
 public static void main(String[] args) {

  FileOutputStream fop = null;
  File file;
  String content = "This is the text content";

  try {

   file = new File("c:/newfile.txt");
   fop = new FileOutputStream(file);

   // if file doesnt exists, then create it
   if (!file.exists()) {
    file.createNewFile();
   }

   // get the content in bytes
   byte[] contentInBytes = content.getBytes();

   fop.write(contentInBytes);
   fop.flush();
   fop.close();

   System.out.println("Done");

  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   try {
    if (fop != null) {
     fop.close();
    }
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
 }
}
//更新的JDK7例如,使用新的“尝试资源关闭”的方法来轻松处理文件。
package com.yiibai.io;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteFileExample {
 public static void main(String[] args) {

  File file = new File("c:/newfile.txt");
  String content = "This is the text content";

  try (FileOutputStream fop = new FileOutputStream(file)) {

   // if file doesn't exists, then create it
   if (!file.exists()) {
    file.createNewFile();
   }

   // get the content in bytes
   byte[] contentInBytes = content.getBytes();

   fop.write(contentInBytes);
   fop.flush();
   fop.close();

   System.out.println("Done");

  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}
Copier après la connexion

Pour plus de méthodes Java pour écrire des fichiers et partager des articles connexes, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal