Java/File Input Output/PrintStream

Материал из Java эксперт
Перейти к: навигация, поиск

Append string to a text file

   <source lang="java">
 

import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; public class Main {

 public static void main(String[] argv) {
   append(new File("c:\\a.txt"), "value");
 }
 public static void append(File aFile, String content) {
   try {
     PrintStream p = new PrintStream(new BufferedOutputStream(new FileOutputStream(aFile, true)));
     p.println(content);
     p.close();
   } catch (Exception e) {
     e.printStackTrace();
     System.err.println(aFile);
   }
 }

}


 </source>
   
  
 
  



Create print stream for error logger

   <source lang="java">
 

import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; public class Main {

 public static void main(String[] argv) throws Exception {
   try {
   } catch (Exception e) {
     e.printStackTrace(getErrorLoggerPrintStream());
   }
 }
 public static PrintStream getErrorLoggerPrintStream() {
   try {
     PrintStream s = new PrintStream(new FileOutputStream(new File("c:\\log.txt"), true));
     return s;
   } catch (FileNotFoundException e) {
     e.printStackTrace();
   }
   return null;
 }

}


 </source>
   
  
 
  



Save string value to a file

   <source lang="java">
 

import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; public class Main {

 public static void main(String[] argv) {
   saveFile("c:\\a.txt", "value");
 }
 public static void saveFile(final String fileName, final String str) {
   try {
     File f = new File(fileName);
     if (new File(f.getParent()).exists() == false) {
       f.getParentFile().mkdirs();
     }
     f.createNewFile();
     PrintStream p = new PrintStream(new FileOutputStream(f, false));
     p.println(str);
     p.close();
   } catch (Exception e) {
     e.printStackTrace();
     System.err.println(fileName);
   }
 }

}


 </source>