package com.common.util; import java.io.*; import java.util.Properties; /** * @author Administrator */ public class CreateLog {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // windows文件保存路径设置 private static String lpath = "/root/logs/log/"; //linux 系统该路径 private static String wpath = "d:/log/"; private static String filenameTemp; public static boolean isOSLinux() { Properties prop = System.getProperties(); String os = prop.getProperty("os.name"); if (os != null && os.toLowerCase().indexOf("linux") > -1) { return true; } else { return false; } } public static boolean creatLogFile(String name) throws IOException { boolean flag = false; String path = ""; if(isOSLinux()){ path=lpath; }else { path=wpath; } filenameTemp = path + name + ".log"; File filename = new File(filenameTemp); File fileParent = filename.getParentFile(); if (!fileParent.exists()) { fileParent.mkdirs(); } if (!filename.exists()) { filename.createNewFile(); flag = true; } return flag; } public static boolean writeLogFile(String newStr) throws IOException { // 先读取原有文件内容,然后进行写入操作 boolean flag = false; String filein = newStr + "\r\n"; String temp = ""; FileInputStream fis = null; InputStreamReader isr = null; BufferedReader br = null; FileOutputStream fos = null; PrintWriter pw = null; try { // 文件路径 File file = new File(filenameTemp); // 将文件读入输入流 fis = new FileInputStream(file); isr = new InputStreamReader(fis); br = new BufferedReader(isr); StringBuffer buf = new StringBuffer(); // 保存该文件原有的内容 for (int j = 1; (temp = br.readLine()) != null; j++) { buf = buf.append(temp); // System.getProperty("line.separator") // 行与行之间的分隔符 相当于“\n” buf = buf.append(System.getProperty("line.separator")); } buf.append(filein); fos = new FileOutputStream(file); pw = new PrintWriter(fos); pw.write(buf.toString().toCharArray()); pw.flush(); flag = true; } catch (IOException e1) { // TODO 自动生成 catch 块 throw e1; } finally { if (pw != null) { pw.close(); } if (fos != null) { fos.close(); } if (br != null) { br.close(); } if (isr != null) { isr.close(); } if (fis != null) { fis.close(); } } return flag; } public static void main(String[] args) throws Exception { creatLogFile(sdf.format(new Date())); writeLogFile("日志内容"); } }