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

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

高洛峰
高洛峰original
2017-01-24 14:09:421323parcourir

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);

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();
     }
    }
}

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();
  }
 }
}

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();
  }
 }
}

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

Déclaration:
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