import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; /** * 文件寫入 * @author Administrator * */ public class TestReadAndWrite { public static void writerText(String path, String content) { File dirFile = new File(path); if (!dirFile.exists()) {//判斷目錄是否存在,不存在創建 dirFile.mkdir(); } try { //new FileWriter(path + "config.log", true) 設置true 在不覆蓋以前文件的基礎上繼續寫 BufferedWriter writer = new BufferedWriter(new FileWriter(path + "config.log", true)); writer.write(content+"\r\n");//寫入文件 writer.flush();//清空緩沖區數據 writer.close();//關閉讀寫流 System.out.println("寫入成功"); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { writerText("D:/", "2014-07-14 23:43:00 服務器IP:192.123.123.243 日志信息:后台登錄驗證碼出現錯誤,錯誤代碼500"); } }
寫入文件換行方法:
一、windows和linux/unix平台中沒有通用的換行符的,針對常用的系統,可以使用如下的轉義符實現換行:
windows下的文本文件換行符:\r\n
linux/unix下的文本文件換行符:\r
Mac下的文本文件換行符:\n
二、BufferedWriter的newline()方法,可通用:
BufferedWriter writer = new BufferedWriter(new FileWriter(path + "config.log", true)); writer.write(content);//寫入文件 writer.newLine();//換行 writer.flush();//清空緩沖區數據 writer.close();//關閉讀寫流
三、System.getProperty()方法
BufferedWriter writer = new BufferedWriter(new FileWriter(path + "config.log", true)); writer.write(content+System.getProperty("line.separator"));//寫入文件***System.getProperty("line.separator")<--換行 writer.flush();//清空緩沖區數據 writer.close();//關閉讀寫流