向txt文件中寫入內容(覆蓋重寫與在末尾續寫+FileOutputStream與FileWriter)(轉發:https://blog.csdn.net/bestcxx/article/details

!!!!java

讀取txt文件中的內容緩存

[java] view plain copy
  1. import java.io.BufferedReader;  
  2. import java.io.File;  
  3. import java.io.FileReader;  
  4.   
  5. /** 
  6.  * 2016年05月11日 
  7.  * 本類模擬從txt文件讀取內容的過程 
  8.  * @author WuJieJecket 
  9.  * 
  10.  */  
  11. public class PrintFromTxt {  
  12.     public static void main(String[] args) throws Exception {  
  13.       
  14.         //讀取所有文件內容  
  15.         File file = new File("d:\\a\\123.txt");  
  16.         StringBuilder sb = new StringBuilder();  
  17.         String s ="";  
  18.         BufferedReader br = new BufferedReader(new FileReader(file));  
  19.   
  20.         while( (s = br.readLine()) != null) {  
  21.         sb.append(s + "\n");  
  22.         }  
  23.   
  24.         br.close();  
  25.         String str = sb.toString();  
  26.         System.out.println(str);  
  27.           
  28.     }  
  29.   
  30. }  



 

!!!向文件中寫入內容-若是指定文件不存在,會被建立app

在main方法中使用if作判斷,是否運行測試方法,測試方法有四個,FileOutputStream與FileWriter都是寫入到txt文件,區別是後者先寫在緩存,清緩存或者緩存已滿纔會最終把內容放入到txt中。測試

[java] view plain copy
  1. import java.io.FileNotFoundException;  
  2. import java.io.FileOutputStream;  
  3. import java.io.FileWriter;  
  4. import java.io.IOException;  
  5.   
  6. /** 
  7.  * 2016年05月11日 
  8.  * 本類模擬將字符串寫入到txt文件的過程 
  9.  * @author WuJieJecket 
  10.  * 
  11.  */  
  12. public class WriteToTxt {  
  13.      public static void main(String[] args) throws FileNotFoundException {  
  14.            
  15.          //要寫入到文件中的內容  \r是換行  
  16.          String str1="\r張三1 0 3000\r李四1 1 5000\r王五1 0 4000";  
  17.          String str2="\r張三2 0 3000\r李四2 1 5000\r王五2 0 4000";  
  18.          String str3="\r張三3 0 3000\r李四3 1 5000\r王五3 0 4000";  
  19.          String str4="\r張三4 0 3000\r李四4 1 5000\r王五4 0 4000";  
  20.            
  21.          WriteToTxt wtt=new WriteToTxt();  
  22.           
  23.          //FileWriter-緩存寫入-字符-覆蓋重寫  
  24.          if(!true){  
  25.              wtt.FileWriterTest(str1);  
  26.          }  
  27.           
  28.          //FileOutputStream-直接寫入-字節-覆蓋重寫  
  29.          if(!true){  
  30.              wtt.FileOutputStreamTest(str2);  
  31.          }  
  32.            
  33.          //FileWriter-緩存寫入-字符-末尾續接  
  34.          if(!true){  
  35.              wtt.FileWriterTest2(str3);  
  36.          }  
  37.           
  38.          //FileOutputStream-直接寫入-字節-末尾續接  
  39.          if(!true){  
  40.              wtt.FileOutputStreamTest2(str4);  
  41.          }  
  42.            
  43.            
  44.         }  
  45.        
  46.      /* 
  47.       * 寫文件 
  48.       * 覆蓋重寫 
  49.       * FileWriter 
  50.       * 先寫在緩存中,須要flush 
  51.       * 字符 eg:1,2,a,b 
  52.       */  
  53.      public void FileWriterTest(String str){  
  54.          FileWriter writer;  
  55.             try {  
  56.                // writer = new FileWriter("/home/1.txt");  
  57.                 writer = new FileWriter("d:\\a\\1231.txt");  
  58.                 writer.write(str);  
  59.                 writer.flush();     //這一個比較重要,是清理緩存的過程,以後須要寫入的信息被寫到txt文件中  
  60.                 writer.close();  
  61.             } catch (IOException e) {  
  62.                 e.printStackTrace();  
  63.             }  
  64.      }  
  65.        
  66.      /* 
  67.       *寫文件 
  68.       *覆蓋重寫  
  69.       *FileOutputStream 
  70.       *直接寫入到文件中,不存在緩存 
  71.       *字節 byte 
  72.       */  
  73.      public void FileOutputStreamTest(String str){  
  74.          FileOutputStream fos;  
  75.          try {  
  76.             fos=new FileOutputStream("d:\\a\\1232.txt");  
  77.             fos.write(str.getBytes());  
  78.             fos.close();  
  79.               
  80.         } catch (FileNotFoundException e) {  
  81.             // TODO Auto-generated catch block  
  82.             e.printStackTrace();  
  83.         } catch (IOException e) {  
  84.             // TODO Auto-generated catch block  
  85.             e.printStackTrace();  
  86.         }  
  87.      }  
  88.        
  89.        
  90.        
  91.        
  92.      /* 
  93.       * 寫文件 
  94.       * 末尾續接 
  95.       * FileWriter 
  96.       * 先寫在緩存中,須要flush 
  97.       * 字符 eg:1,2,a,b 
  98.       */  
  99.      public void FileWriterTest2(String str){  
  100.          FileWriter writer;  
  101.             try {  
  102.                // writer = new FileWriter("/home/1.txt");  
  103.                 writer = new FileWriter("d:\\a\\1233.txt",true);  
  104.                 writer.write(str);  
  105.                 writer.flush();     //這一個比較重要,是清理緩存的過程,以後須要寫入的信息被寫到txt文件中  
  106.                 writer.close();  
  107.             } catch (IOException e) {  
  108.                 e.printStackTrace();  
  109.             }  
  110.      }  
  111.        
  112.      /* 
  113.       *寫文件 
  114.       *末尾續接 
  115.       *FileOutputStream 
  116.       *直接寫入到文件中,不存在緩存 
  117.       *字節 byte 
  118.       */  
  119.      public void FileOutputStreamTest2(String str){  
  120.          FileOutputStream fos;  
  121.          try {  
  122.             fos=new FileOutputStream("d:\\a\\1234.txt",true);  
  123.             fos.write(str.getBytes());  
  124.             fos.close();  
  125.               
  126.         } catch (FileNotFoundException e) {  
  127.             // TODO Auto-generated catch block  
  128.             e.printStackTrace();  
  129.         } catch (IOException e) {  
  130.             // TODO Auto-generated catch block  
  131.             e.printStackTrace();  
  132.         }  
  133.      }  
  134.   
  135.        
  136. }  

 

 

txt的按行、列讀ui

http://blog.csdn.net/bestcxx/article/details/65446489spa

 

最後附上本身寫的一個封裝好的方法,能夠直接使用,不會覆蓋原文件(即末尾續接).net

package com.zhaowu.renwu2;

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

public class FileUtil {
    public static void toFile (String content) {
        File file = null;
        FileWriter fw = null;
        file = new File("/home/acer/桌面/aaa");
        try {
            if (!file.exists()) {
                file.createNewFile();
            }
            fw = new FileWriter(file,true);
            fw.write(content);//向文件中複製內容
            fw.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            if(fw != null){
                try {
                    fw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
相關文章
相關標籤/搜索